Laporan Praktikum Struktur Data Modul 1 Tipe Data dan Operator C/C++

PRAKTIKUM

    • Praktikum 1

  • Studi Kasus

Sebuah toko perlengkapan bahan bangunan yang bernama "TB BARUDAK" memberikan promo harga cat tembok 25kg. Bagi konsumen yang membeli sebanyak 3 pile akan mendapat potongan harga sebesar 80% promo ini berlaku bagi setiap konsumen yang membeli minimal 3 pile atau kelipatannya akan mendapat potongan harga 80%, sementara harga 1 pile cat tembok 25kg Rp.154.000,-

  • Script Program

Klik Buka:
#include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
float nilai,temp, hrgbarang = 154000;
int i,j_barang;
printf(" POTONGAN HARGA CAT TEMBOK 25 Kg\n");
for (i = 0;i < 33;i++)printf("=");printf("\n");
printf(" Jumlah Barang\t= ");
scanf("%d",&j_barang);
cout<<" Harga Satuan\t= "<<hrgbarang<<endl;
if(j_barang == 3){
nilai = (j_barang * hrgbarang) * 0.8;
}
else
if (j_barang < 3){
nilai = j_barang * hrgbarang;
}
else
if (j_barang > 3){
temp = j_barang % 3;
nilai = (j_barang-temp) * hrgbarang *0.8 +(temp * hrgbarang);
}
printf(" Total Harga\t= %.0f\n",nilai);
return 0;
}

  • Output


  • Penjesalan


Pada program diatas terdapat perintah 
for (i = 0;i < 33;i++)printf("="); 
perintah tersebut berfungsi untuk mencetak sama dengan (=) sebanyak 33 kali, cara kerjanya adalah variabel i diawali dengan 0, kemudian program akan memeriksa i (apakah i kurang dari 33 ?) jika true maka program akan mencetak sama dengan (=), kemudian variabel i akan ditambah 1, proses perulangan ini dilakukan sampai variable i mencapai batas akhir yaitu 33.

Dan selanjutnya pada program diatas terdapat perintah
if(j_barang == 3){

nilai = (j_barang * hrgbarang) * 0.8;
else if (j_barang < 3){
nilai = j_barang * hrgbarang;
else if (j_barang > 3){
temp = j_barang % 3;
nilai = (j_barang-temp) * hrgbarang *0.8 +(temp * hrgbarang); 
}
Perintah tersebut berfungsi untuk memilih rumus perhitungan apa yang akan digunakan, cara kerjanya adalah dengan menentukan beberapa kondisi seperti diatas, jika kondisinya true/benar maka program akan menjalankan perintah yang ada didalam intruksi if tersebut, jika false/salah maka program akan melanjutkannya dengan kondisi selanjutnya. Contohnya, user memasukan sebuah nilai yaitu 27 maka program akan memeriksa kondisi - kondisi yang sudah ditentukan yaitu
  1. if(j_barang == 3), apakah variable j_barang sama dengan 3? tentu saja hasilnya false/salah karena nilai variable j_barang adalah 27 bukan 3
  2. if (j_barang < 3), apakah j_barang kurang dari 3? hasilnya adalah false karena variable j_barang lebih dari 3
  3. if (j_barang > 3)apakah j_barang lebih dari 3? hasilnya adalah true/benar, maka program akan menjalankan perintah yang ada didalam kondisi ke-3 yaitu 
temp = j_barang % 3;
nilai = (j_barang-temp) * hrgbarang *0.8 +(temp * hrgbarang); 

    • Praktikum 2

  • Studi Kasus

Seorang tukang cat tembok mempunyai ukuran dalam pengecatan yang terbagi dalam 3 kategori kualitas yaitu kualitas tinggi, kualitas sedang dan kualitas rendah. Untuk kualitas tingggi 5 Kg cat tembok dapat menutupi bidang dengan baik seluas 3 X 4 m2 atau seluas 12 m2 dan kualitas sedang 5 Kg cat tembok dapat menutupi bidaang seluas 4 X 5 m2 atau seluas 20 m2 serta kualitas rendah 5 Kg cat tembok dapat menutupi seluas 6 X 11 m2 atau seluas 66 m2.
Buatlah penyelesaian studi kasus diatas dengan menggunakan bahasa pemrograman C/C++ untuk mempermudah dalam menghitung berapa jumlah cat tembok yang dibutuhkan untuk ke 3 kategori kualitas.


  • Script Program

Klik Buka:
#include<stdio.h>
#include<conio.h>

int main(){
 float l_bidang,nilai,kilo=5000,temp;
 int i,pilih;

 printf("PROGRAM PERHITUNGAN JUMLAH CAT \n");
 for(i=0; i<33; i++)printf("="); printf("\n");
 printf("1.Kualitas Tinggi\n2. Kualitas Sedang\n3.Kualitas Rendah\n");
 printf("Masukan Nomor Pilihan Kualitas :");
 scanf("%d",&pilih);
 switch(pilih){
  case 1:
  printf("Kualitas Tinggi\n");
  printf("Luas Bidang\t= ");
  scanf("%f",&l_bidang);
  nilai = (l_bidang/12)*kilo;
  temp = nilai/1000;
  printf("Jumlah cat yang dibutuhkan = %.1f Kg",temp);
  break;
  case 2:
  printf("Kualitas sedang \n");
printf("luas Bidang\t= ");
scanf("%f",&l_bidang);
nilai=(l_bidang/20)*kilo;
temp =nilai/1000;
  printf("Jumlah cat yang dibutuhkan =%.1f Kg",temp);
  break;
  case 3:
  printf("Kualitas Rendah\n");
  printf("Luas Bidang\t= ");
  scanf("%f",&l_bidang);
  nilai = (l_bidang/66)*kilo;
  temp=nilai/1000;
  printf("Jumlah cat yang dibutuhkan =%.1f Kg",temp);
  break;
  default : printf("Nomor yang anda pilih salah");
  }
 getch();
 return 0;
}

  • Output


  • Penjelasan

Pada program ini percabangan yang digunakan adalah switch fungsinya sama saja dengan if, yaitu untuk memilih rumus/metode apa yang akan digunakan untuk menyelesaikan masalah dalam studi kasus, 
contoh user memasukan nomor pilihan 2,maka program akan menyimpan inputan dari user kedalam variable pilih, kemudian program akan memeriksa nilai dari variabel pilih sesuai dengan kondisi yang telah ditentukan pada setiap case, pada case pertama, apakah nilainya 2? tentu saja salah/false, maka program akan melanjutkannya dengan memeriksa case kedua, pada case kedua ternyata benar/true,kemudian program akan menjalankan intruksi - intruksi yang ada dalam case kedua tersebut

    • Praktikum 3

  • Studi Kasus

Harga BBM dalam liter = Harga minyak mentah (dlm barrel dibagi 160 liter) + Biaya pengolahan (sekitar 10%) + Biaya distribusi (tergantung jarak dari kilang) + Margin SPBU.
Asumsikan:
Harga minyak mentah USD$ 100/barrel, Kurs USD = Rp. 12.000 ==> harga minyak mentah = 100 x 12000 / 160 = Rp. 7500 / liter Biaya pengolahan 10% ====> Rp. 750 / liter Biaya angkut untuk Jawa rata-rata, kalau mobil tanki ukuran 18.000 liter sekali keluar perlu biaya Rp 5 juta ==> Rp. 277 / liter. Margin SPBU = Rp. 138 / liter. TOTAL harga BBM = Rp. 7500 + 750 + 277 + 138 = Rp. 8665 / liter.

  • Script Program

Klik Buka:
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
int main()
{
int barel=160,i,j,p;
float olah=0.1,m,hrgprem,jl,margin,by,proses;
long jawa=5000000,smtra=7500000,sulwsi=8000000,
       klmntan=9000000,irian=12000000,tangki=18000,rp;

printf("PROGRAM PERHITUNGAN HARGA BBM PREMIUM\n");
for(i=0;i<37;i++)printf("=");printf("\n");

printf("Masukan Harga Minyak Dunia : $");scanf("%f",&m);
printf("Harga Dolar dalam rupiah : Rp.");scanf("%ld",&rp);
proses=(m*rp)/barel;
jl=proses*olah;

printf("\nTujuan Pengiriman BBM\n");
for(j=0;j<21;j++)printf("=");printf("\n");
printf("1. Jawa\n2. Sumatra\n3. Sulawesi\n4. Kalimantan\n5. Irianjaya");
cout<<"\npilih : ";cin>>p;

if(p==1){
     by=jawa/tangki;}
if(p==2){
     by=smtra/tangki;}
if(p==3){
     by=sulwsi/tangki;}
if(p==4){
     by=klmntan/tangki;}
if(p==5){
     by=irian/tangki;}

margin=by/2;
hrgprem=proses+jl+by+margin;
getch();
cout<<"\nHarga Jual BBM Premium PERTAMINA Rp."<<hrgprem<<" Per Liter";
getch();
return 0;
}

  • Output


  • Penjelasan

Pada program ini untuk menghitung harga BBM yaitu premium berdasarkan wilayahnya.Metode yang digunakan sama seperti pada contoh program sebelumnya yaitu menggunakan percabangan if. Seperti halnya pada contoh harga minyak dunia adalah $ 100, dan harga dollar dalam rupiah adalah Rp. 12000,-. User memilih wilayah Irianjaya untuk dihitung berapa harga jual premiumnya, dan program akan memproses dengan beberapa operator aritmatika (hasil by=irian/tangki), (hasil margin = by / 2), dan (hrgprem = proses + jl +margin). Setelah itu hasil akhir akan ditampilkan berupa harga jual BBM Premiumnya yaitu Rp.9249,- Per Liter

LATIHAN


    • Latihan 1
  • Studi Kasus
    Ongkir Progresif Artinya ongkos kirim dihitung berdasarkan berat paket barang secara flat. Makin berat paket, ongkos kirimnya makin besar. Jika ongkos kirim ke suatu tempat ditetapkan Rp 5 ribu/kg, dan kita mengirim paket sebesar 5kg, maka ongkos kirim yang harus dibayar adalah (5x5 ribu) Rp 25 ribu, begitupula bila kita mengirim paket dengan berat dibawah 5 kg tetap akan dikenakan biaya minimum yaitu Rp. 25 ribu, sedangkan bila mengirim peket dengan berat diatas 5 kg akan dikenakan biaya kirim kelipatanya misal berat paket 6 kg maka biayanya akan dikenakan sebesar 2x biaya minimum yaitu 50 ribu begitu pula seterusnya
    • Script Program
    Klik Buka:
    #include<iostream.h>
    #include<conio.h>
    int main()
    {
    long ongkir = 5000, harga, jml;
    int kilo, i;
    cout<<"PROGRAM ONGKOS KIRIM BARANG PROGRESIF"<<endl;
    for(i=0;i<37;i++)cout<<"=";cout<<endl;
    cout<<"Masukan Berat Barang (Kg) : ";
    cin>>kilo;

    if(kilo <= 5)
    {
    harga = 25000;
    }
    else
    if(kilo > 5)
    {
    jml = kilo%5;
    harga = (kilo-jml)*ongkir+25000;
    }
    cout<<"\nBiaya Pengiriman Rp "<<harga;
    getch();
    return 0;
    }

    • Output

    • Penjelasan
    Program ini untuk menentukan harga pengiriman barang dilihat dari barang tersebut. Setiap kelipatan 5 harga pengiriman Rp. 25.000. Misal seperti dicontoh, saya memasukan berat barang 17kg dan harga ongkos kirim Rp. 100.000 karena 17 sudah termasuk kelipatan 5 yang ke-4. Dan rumus untuk menghitung nya adalah selisih dari hasil pembagian kilo dibagi 5, dan kilo dikurangi selisih yang tadi dan dikali ongkir ditambah 25.000


      • Latihan 2
    • Studi Kasus
    Misalnya ongkos kirim ke suatu tempat ditetapkan Rp 25 ribu untuk berat paket 5 kg pertama, sedangkan untuk kg berikutnya dihitung Rp 2 ribu/kg. Jadi kalau kita kirim paket beratnya 1 kg maupun 5 kg, ongkos kirimnya tetap dihitung Rp 25 ribu. Sedangkan kalau paket yang dikirim lebih dari 5 kg, katakanlah 10kg, maka ongkos kirimnya jadi lebih murah, karena 5 kg berikutnya hanya dihitung Rp 2 ribu/kg. Sehingga paket dengan berat 10 kg hanya membayar Rp 35 ribu Lengkapilah program dibawah ini untuk menyelesaikan kasus diatas.

    • Script Program
    Klik Buka:
    #include<iostream.h>
    #include<conio.h>
    int main()
    {
    long ongkir = 5000, reg = 2000, harga, selisih;
    int kilo, i;
    cout<<"PROGRAM ONGKOS KIRIM BARANG REGRESIF"<<endl;
    for(i=0;i<37;i++)cout<<"=";cout<<endl;
    cout<<"Masukan Berat Barang (Kg) : ";
    cin>>kilo;

    if(kilo <= 5)
    {
    harga = 25000;
    }
    else
    if(kilo > 5)
    {
    selisih = kilo%5;
    harga = (kilo-selisih)*ongkir+(selisih*reg);
    }
    cout<<"\nBiaya Pengiriman Rp "<<harga;
    getch();
    return 0;

    }

    • Output

    • Penjelasan
    Pada program ini mengenai perhitungan ongkos kirim barang berdasarkan regresif dimana regresif itu sendiri nilai pertama yang di masukan itu berat barang dengan satuannya (kg). dan di dalam prosesnya akan di eksekusi dengan (if) . pilihan <= 5 akan mempunyai harga 25000 (nilai minimal setiap pembelian), semakin berat barangnya naik maka harganya pun akan naik juga. ini berbeda dengan progresif selisih dikalikan nilai regresif (Rp. 2000).


    Contoh : Berat barang yang akan di kirim adalah seberat 5Kg, maka biaya yang harus dibayar adalah sebesar Rp.25.000-, dan apabila berat barang yang akan dikirim adalah seberat 17Kg, maka biaya yang harus dibayar adalah sebesar Rp.79.000-,



    POST TEST

    Klik Buka:
    Post Test 1


    Post Test 2


    Post Test 3




    Postingan terkait:

    Belum ada tanggapan untuk "Laporan Praktikum Struktur Data Modul 1 Tipe Data dan Operator C/C++"

    Posting Komentar