Jumat, 24 Maret 2017

Laporan Praktikum Struktur Data Modul 1

    Assalamu’alaikum Wr. Wb. Hay readers berhubung saya mendapatkan tugas untuk membuat sebuah program yang berawal dari study kasus jadi pada kesempatan kali ini saya ingin berbagi informasi mengenai program saya dan juga seputar dunia pemograman, program yang saya buat ialah “Potongan Harga Cat Tembok” , “Menghitung Jumlah Cat” ,“Menghitung Harga BBM Premium” , "Menghitung Ongkir Progresif" dan "Menghitung Ongkir Regresif" dengan menggunakan bahasa pemograman  C++. Software yang saya gunakan ialah borland tetapi readers bisa menggunakan software Notepad++ ataupun Turbo c untuk membuat scripnya. Sebelum lanjut pada script yang saya buat, yuk pahami dahulu Study Kasusnya.


            Study Kasus Praktikum 1 
Sebuah Toko perlengkapan bahan bangunan yang bernama “TB BARUDAK” memeberikan promo harga Cat Tembok 25 Kg. Bagi konsumen yang membeli sebanyak 3 pail akan mendapatkan potongan harga sebesar 80%, promo ini berlaku bagi setiap konsumen yang membeli minimal 3 pail atau kelipatannya akan mendapatkan potongan harga 80%, sementara harga 1 pail cat tembok 25 Kg Rp. 154.000, Selesaikan kasus diatas dengan mengunakan bahasa pemrograman C/C++ agar dapat dengan mudah berapa jumlah yang harus dibayarkan oleh konsumen.
Sudah jelaskan dalam study kasusnya jika kita membeli minimal 3 pail ( ember ) maka akan mendapatkan diskon sebesar 80% atau 0.8, sama halnya jika kita membeli lebih dari 3 pail maka kita juga akan mendapatkat diskon 80%, oke guys lansung saja kita lihat scripnya !!

Script study kasus Praktikum 1
#include<stdio.h>
#include<iostream.h>
#include<conio.h>
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);
getch();
return 0;
}
Nah seperti itulah scripnya, sekarang saya akan menjelaskan bagian - bagian dari awal sampai akhir.
             Kalimat yang di tandai dengan tanda (#) merupakan prosesor pengarah untuk menghantarkan kepada kompiler. Dalam kasus ini #include<stdio.h> #include<iostream.h> #include<conio.h> memberitahukan prosesor compiler untuk menyertakan header file standar, jadi yang dalam kurung itu adalah sebuah header. File dari header <stdio.h> dan <iostream.h> juka termasuk deklarasi I/O pada c dan file ini di sertakan karena fungsi-fungsinya akan di gunakan dalam program ini.

Int main merupakan salah satu fungsi utama dalam sebuah kode bahasa C. Fungsi ini memberikan nilai balik menurut type datanya karena memiliki nilai balik maka di berikan perintah return nilai biasanya letak perintah return terletak di akhir sebelum tanda ( } )



Kurung kurawal buka ( { ) dan tuput ( } ) merupakan sebuah awal untuk melakukan statement dan juga untuk mengakhiri sebuah statement.


Float dan int merupakan sebuah tipe data yang memiliki arti tersendiri. Float adalah type data yang terdiri dari bilangan cacah atau desimal, tetapi dalam type data float kita juga dapat memasukan nilai bilangan bulat. sedangkan untuk int ( integer ) adalah type data yang terdiri dari angka bulat, jadi dalam tipe data ini kita hanya bisa menginput dan mengoutput bilangan bulat saja tidak bisa sebuah charakter di masukan dalam type data ini itu beda lagi type datanya. Dan dalam scrip tersebut terdapat kata nilai, temp, hrgbarang, i, dan j_barang, nah kata tersebut merupakan variable atau pengenal (identifier) dari masing – masing type data. Dan nilai dari variable ini juga dapat di ubah – sesuai kebutuhan, tetapi untuk variable hrgbarang = 154000 tidak dapat di ubah lagi, jadi untuk variable hrgbarang akan bernilai tetap yaitu 154000 karena variable ini berjenis variable konstanta yang nilainya sudah di tetapkan.


            Pada script tersebut terdapat fungsi printf  yang termasuk bagian dari header stdio.h, fungsi ini gunanya untuk menampilkan sebuah keluaran (output), output yang akan keluar bisa kita lihat di script printf(" POTONGAN HARGA CAT TEMBOK 25 KG \n"); , bagian yang saya warnai itu merupkan sebuah output yang akan keluar saat di running, bentuk umum deklarasinya printf(“tulisan yang akan di output”); , kalu saya memakai kode \n gunanya untuk mengganti baris setelah output itu keluar.
            Dan for itu merupakan salah satu intruksi perulangan, dimana i = 0 itu merupakan nilai awal sedangkan i < 33 merupakan batas akhir dari pengulangan, dan ( { ) , ( } ) merupakan sebuah batasan perintah yang akan di ulang, jadi jika di dalam  buka kurung dan tutup kurung itu terdapat sebuah perintah maka perintah itu yang akan di eksekusi untuk dilakukan pengulangan. Dalam pengulangan tersebut terdapat sebuah perintah keluaran printf(“=”); maka sama dengan (=) ini akan di lakukan pengulangan sebanyak 33 kali sesuai batasan akhir pengulangan ( i<33 ).


            Script yang di atas terdapat fungsi output dan input, untuk bagian output sudah di jelaskan di atas, maka output yang akan keluar itu Jumlah Barang, dan \t merupakan sebuah kode untuk TAB. Nah untuk inputnya saya di sini memakai scanf yang merupakan bagian dari header stdio.h . Deklarasi umum scanf(“%d”,&variable); mengapa memakai %d karena yang saya akan input itu berupa nilai bilangan bulat (int), dan %d itu merupakan sebuah kode format untuk int sedangkan untuk float kode formatnya %f. Dan juga terdapat sebuah syntax ,&variable, gunanya untuk variable apa yang akan kita gunakan untuk mengisi / menampung nilai tersebut, contohnya saya menggunakan variable j_barang maka nilai yg saya input nanti akan di tampung di variable itu.
            Untuk baris ke tiga itu merupakan sebuah script output sama kegunaanya seperti printf tapi untuk cout itu termasuk bagian dari header iostream.h. di baris ketiga ini merupakan sebuah keluar sekaligus pemanggilan variable, nah dalam fungsi cout itu sangat mudah jika ingin melakukan pemanggilan variable, deklarasi umum output cout, cout<<” tulisan yang akan di output “; seperti itulh bentuk umum outputnya nah jika kita akan melakukan pemanggilan variable maka kita tinggal menambahkan cout<<” tulisan yang akan di output “<<variable;, yang saya panggil berupa variable hrgbarang dimana variable ini sudah di tentukan nilainya, (coba liat ke full scrip), sedangkan untuk endl itu merupakan sebuah kode ganti baris sama halnya dengan \n tetapi endl itu hanya bisa di gunakan jika terdapat header iostream.h.


 
  •  
             Oke readers ... inilah inti dari program saya karena dalam study kasus jika lebih atau minimal membeli 3 ember cat maka mendapatkan promo 80% dan jika kurang dari 3 tidak mendapatkan pro, oke langsung saja simak penjelasan dari saya
Pertama saya akan menjelaskan apa itu fungsi if (jika) jadi dalam kasus tersebut terdapat 3 kategori < 3, = 3 dan > 3 . dalam bahasa inggris if itu mempunyai arti jika, betul sekali jadi jika jumlah barang yang kita beli < 3 tidak mendapatkan promo dan juga jika jumlah barang yang kita beli = 3 (minimal) atau > 3 maka mendapatkan promo, jadi scripnya seperti yang di atas untuk j_barang ( jumlah barang ) itu sebuah variable yg kita inputkan sebelumnya.
Jadi if (j_barang < 3) rumusnya tinggal j_barang * hrgbarang karena tidak mendapatkan promo. Sedangkan untuk pembelian minimal 3 ( if (j_barang = 3) rumusnya bisa dilihat di script, untuk 0.8 itu adalah hasil dari 80% karena bisa di katakan 80% itu 80/100 jd hasilnya 0.8.. dan untuk pembelian lebih dari tiga rumusnya agak susah nih readers, pertama – tama kita mencari nilai temp (agar tidak rugi) dengan cara j_barang % 3 atau j_barang * 3 / 100, setelah menemukan temp tersebut lanjut ke rumus berikutnya (j_barang - temp) * hrgbarang * 0.8 + (temp * hrgbarang) sudah selesai
Jadi ketiga if ini hanya akan di pakai salah 1 saja misalnya kita membeli barang 2 maka else if ( j_barang < 3) yang akan di jalan kan,atau jika kita membeli 3 ember cat maka if (j_barang = 3) yang akan di jalan kan, atau kita membeli 5 cat maka if (j_barang > 3) yang di jalankan. Jadi program yang kita buat akan membaca kondisi jika kondisi itu benar maka kondisi tersebut yang di jalankan

Hasil running if(j_barang < 3)






Hasil running if ( j_barang = 3)





Hasil running if (j_barang > 3)






          Oke guys kali ini saya akan membahas study kasus 2, pertama -tama yuk kita pahami dulu study kasusnya, agar kita menemukan kata kunci dalam study kasus yang ke 2 ini.

Study Kasus Praktikum 2
Seorang tukang cat tembok mempunyai ukuran dalam pengecatan yang terbagi dalam 3 kategori kualitas yaitu kualitas tinggikualitas 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 bidang 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
Oke readers dalam study kasus ini kita di minta untuk menghitung berapa jumlah cat yang di butuhkan dan terdapat 3 kategori yaitu Kualitas Tinggi, Kualitas Sedang dan Kualitas Rendah. Masing – masing kategori memiliki ukuran untuk menutupi bidang, maka setiap kategori mempunyai rumus yang berbeda, oke langsung saja yuk kita lihat scriptnya.
Script Study Kasus 2
#include<stdio.h>
#include<conio.h>
int main()
{
clrscr();
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\n 2. Kualitas Sedang\n 3. 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;
}
            Nah itulah script dari program yang akan saya buat dari study kasus 2, baik lah saya akan menjelas kan dengan simple bagaimana bisa seperti itu.
            Yups ini dinamakan sebuah prosesor pengarah (#include) beserta header (stdio.h dan conio.h) gunanya syntax ini adalah untuk memanggil dan menjalankan fungsi-fungsi yang terdapat dalam library file header tersebut. 
            Ini adalah sebuah fungsi utama dalam sebuah program bahasa c, dan int main ini memberikan nilai balik sesuai type datanya (sudah di jelaskan di study kasus pertama), sedangkan ({) merupakan sebuah awal atau gerbang pembuka dimana akan dilakukan subuah statement, jika ada pembuka maka ada penutup (}) jadi ini merupakan sebuah akhir dari sebuah program, jadi jika statement sudah selesai du tulis semua maka kita harus menutup statement tersebut dengan (}) agar si statemen bisa terbaca oleh program.
            Ini adalah sebuah fungsi untuk membersikah layar dari hasil running sebulumnya, dan fungsi ini merupakan salah satu file library dari header conio.h.
            Ini adalah sebuah variable dan type data, dan disini terdapa type data yaitu float (bilangan decimal dan bulat) dan int (bilangan bulat) dan kilo adalah sebuah variable konstanta karena sudah mempunyai sebuah nilai tetap, dan ingat satu hal dalam menulis statemen jika kita judah selesai menulisnya maka akhiri dengan ( ; )
      
            Ini merupakan sebuah fungsi output dan juga pengulangan, ini sama dengan study kasus pertama, fungsi pengulangan ini akan menghasilkan = sebanyak 33 kali sesuai batas pengulangannya

            Oke script di atas terdiri dari output dan input, nah untuk output pertama itu menjelaskan atau menampilkan sebuah  menu pilihan kualitas sesuai dengan apa yang di  minta di dalam program, untuk \n itu sebuah kode ganti baris jadi pada saat di runing output baris pertama pilihannya tidak akan berjejer ke kanan tapi akan ke bawah , sedang kan untuk output kedua itu gunanya sebagai perintah untuk memilih kualitas yang kita akan beli, jika ada sebuah perintah untuk memilih berarti kita harus memiliki input untuk memasukan pilihan kita, seperti scanf di atas, deklarasi input ( scanf(“sesuai kode format type data”,&variable) ) 
                 Oke readers saya akan memberikan penjelasan sedikit tentang fungsi switch case, apa sih switch case itu ? switch case adalah pernyataan yang dirancang khusus untuk menangani pengambilan keputusan yang melibatkan sejumlah atau banyak alternatif penyelesaian. Jadi switch case ini sangat cocok digunakan jika sebuah program yang akan kita buat terdapat sebuah pilihan.
switch(pilih)
{
case 1:{ statement; break; }
case 2:{ statement; break; }
case n:{ statement; break; }
default : statement }
            Jadi variable pilih ini bisa di isi dengan dengan variable apa saja, asalkan variable yang kita gunakan sama negan variable saat memilih ( pembhasan no 7). Untuk case 1 sendiri itu merupakan salah satu sebuah pilihan, karena di sini kita akan membuat 3 pilihan kategori kualitas makannya case 1 itu adalah pilihan pertama.
            Dalam case 1 (kualitas tinggi) ini kita harus memasukan berapa luas bidang yang akan kita tutupi. Sedangkan luas bidang yang hanya bisa ditutupi seluas 12 m2 maka rumusnya
nilai = (l_bidang / 12 ) * kilo (variable kilo sudah memiliki nilai sebesar 5000), setelah itu hasil dari nilai tersebut kita bagi 1000, mengapa 1000 kerena nilai kilonya berupa 5000. Jadi temp = nilai / 1000. Untuk case 2 dan case 3 juga sama rumusnya seperti itu tetapi kita harus melihat berapa luas bidang yang bisa di tutupi kualitas sedang dan rendah, jadi nanti nilai yang bisa menunupi luas bidang itu sebagai pembagi dengan l_bidang, ( nilai = (l_bidang / ...) * kilo) .
            Untuk penggunaan default sendiri itu jika kita masukan nomor yang tidak ada dalam kategori maka default ini yang akan di jalankan.
   
 Getch(); gunanya untuk menahan sebuah tampilan hasil running.
 Return 0; sebuah nilai balik dari int main.
 } : untuk mengakhiri sebuah statemen yang telah di buat

Hasil Running Case 1 :
Hasil Running Case 2 :
Hasil Runing Case 3 :
Hasil Running Deafault :


 Oke guys kita masuk ke study kasus ke-3, dalam study kasus kali ini saya akan membuat program yang berhubungan dengan perhitungan BBM. Oke guys, mari kita pahami terlebih dahulu study kasusnya.

            Study Kasus Praktikum 3
         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 Study Kasus 3
#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);
getch();
printf("harga dolar dalam rupiah : Rp ");
scanf("%ld",&rp);
getch();
proses=(m*rp)/barel;
jl =proses*olah;
printf("\n Tujuan Pengiriman BBM\n");
for(j=0; j<21; j++)
{
printf("=");
}
printf("\n 1.jawa\n 2.sumatra\n 3.sulawesi\n 4.kalimantan\n 5.irianjaya");
cout<<"\n pilih : ";cin>>p;
if(p == 1)
{
by = jawa/tangki;
margin=by/2;
hrgprem = proses + jl + by + margin;
}
            else if(p == 2)
{
   by=smtra/tangki;
   margin=by/2;
   hrgprem=proses+jl+by+margin;
}
            else if(p==3)
{
      by=sulwsi/tangki;
      margin=by/2;
      hrgprem = proses+jl+margin;
}
            else if(p==4)
{
         by=klmntan / tangki;
         margin=by/2;
         hrgprem = proses + jl +  margin;
}
            else if(p == 5)
{
            by = irian/tangki;
            margin =by/2;
            hrgprem = proses + jl + margin;
}
            getch();
cout<<"\n Harga jual BBM premium pertamina Rp."<<hrgprem<<" perliter";
getch();
return 0;
}
Nah itulah script dari program yang akan saya buat dari study kasus 3 ini, baik lah langsung saja saya akan menjelas kan dengan simple bagaimana bisa seperti itu
            Script ini merupakan sebuah pengarah beserta header di mana masing – masing file library memiliki fungsinya tersendiri.
            Ini adalah sebuah fungsi utama untuk memulai sebuah program, dan int main ini terdapat nilai balik sesuai type datanya.
  •  
             Script di atas adalah sebuah type data ( int, float, long) beserta variable, dan variable diatas terdapat dua jenis variable yaitu variable konstanta dan fungsi, variable konstanta adalah variable yang sejak awal sudah memiliki nilai, dan fungsi belum memiliki nilai sama sekali.
             Ini merupakan sebuah output dan output yang akan keluar adalah  , dan merupakan file library dari header stdio.h.


         Script di atas merupakan intruksi pengulangan, nilai awal pengulangan ( 0 ) dan batas akhir pengulangan (21), untuk j++ maka nilai j yang tadinya ( 0 ) akan terus di tambah sampai nilai j memenuhi batas akhir (21). Yang di maksud tubuh pengulangan adalah script yang berada di dalam tubuh pengulangan maka scrip tersebut yang akan di proses.

Output dan input, output pertama mengarahkan kita untuk memasukan harga minyak dunia (liat di study kasus) dan fungsi input untuk memasukan berapa nilai yang akan kita masukan.
Output dan Input, output kedua ini kita di arahkan untuk memasukan brama harga dolar dalam rupiah sedangkan inputnya untuk memasukan nilai yang akan kita input, setiap input yang kita masukan maka nilai tersebut akan di tampung dalam variable.
 proses=(m*rp)/barel; : ini adalah rumus  untuk mencari brapa barel minyak yang kita dapatkan, caranya dengan mengkali harga minyak dunia dan harga dolar dalam rupiah, setelah itu di bagi dengan barel(160).
 jl =proses*olah; : ini adalah rumus untuk mendapatkan jumlah liter  dengan cara mengkalikan proses dengan olah(0.1 atau 10%)
 Jadi Menu pemilihan ini berguna untuk mengetahui apa saja yang dapat kita pilih
Output dan input, output di atas berguna untuk menanyakan mana menu yang akan di pilih, dan input itu gunanya untuk memasukan nomor pilihan kita.
             Script di atas adalah sebuah fungsi pemilihan if else jadi jika kita memilih 1 (jawa ) maka if pertama yang di jalankan, dan seterusnya. Di setiap wilayah 1 – 2 rumusnya hampir sama tetapi yang membedakan yaitu jumlah liter yang dapat di terima oleh masing – masing wilayah ( liat variable jawa , smtra). Tetapi untuk wilayah 3 – 5 berbeda rumusnya dengan 1 – 2 karena jumlah liter yang dapat di terima berbeda. Jika di wilayah 3 – 5 di hrgprem di tambahkan by maka harga perliternya akan semakin mahal.
             Getch ();          : gunanya untuk menahan tampilan hasil runing.







Output ini akan menampilkan hasil dari wilayah yang tadi kita pilih, kemudian diproses setelah itu nilainya dipanggil di output akhir, cara pemanggilannya dengan cara memanggil variable hrgprem karena variable tersebut menunjukan harga premium dari wilayah yang kita pilih.

      Hasil Runing 









               Oke guys saat ini kita memasuki study kasus latihan 1, sebelum membuat script program, mari kita  pahami dahulu study kasusnya !!

                  Study Kasus Latihan 1
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, begitu pula 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.
Dalam Study Kasus diatas kita dapat menyimpulkan bahwa jika kita membeli barang antara 1 – 5 ongkir akan tetap dihitung Rp. 25.000, dan jika berat barang di atas 5 misalnya 6 – 10 maka ongkir akan dikenakan 2x lipat jadi sebesar Rp. 50.000, jadi jika kita membeli barang dengan berat antara 6 – 10 maka biaya akan tetap dihitung Rp. 50.000 . Ongkir progresif ini di hitung berdasarkan berat barang, untuk harga ongkirnya di hitung Rp. 5.000/kg

Script Study Kasus Latihan 1
#include<iostream.h>
#include<conio.h>
int main()
{
long ongkir = 5000,harga1,harga2,jml,temp;
int kilo,i;
cout<<" PROGRAM ONGKOS KIRIM BARANG PROGRESIF"<<endl;
for (i = 0;i < 38;i++)
{
cout<<"=";
}
cout<<"\n Masukan Berat Barang : ";
cin>>kilo;
if(kilo <= 5)
{
harga1 = ongkir * 5;
cout<<"\n Biaya Pengiriman Rp. "<<harga1;
}
else if(kilo > 5)
{
temp = kilo % 5;
jml = ongkir * 2 ;
harga2 = (kilo - temp) * jml ;
cout<<"\n Biaya Pengiriman Rp. "<<harga2;
}
getch();
return 0;
}
            Nah itu lah script program ongkir progresif dari study kasus latihan 1, oke langsung saja saya akan membahas program di atas agar para readers mengerti.
            Script ini merupakan sebuah pengarah beserta header di mana masing – masing header memiliki file library dan juga memiliki fungsinya tersendiri.

Ini adalah sebuah fungsi utama untuk memulai sebuah program, dan int main ini terdapat nilai balik sesuai type datanya.

            Script diatas adalah sebuah tipe data dan juga variable, dalam script diatas terdapat variable konstanta yaitu berupa variable yang sudah mempunyai nilai sejak awal dan tidak dapat diubah.

            Ini adalah sebuah output, saya menggunakan output ini untuk menampilkan judul program yang saya buat
            Ini merupakan intruksi pengulangan for, intruksi ini mempunyai nilai awal dan nilai batasan pengulangan, dan untuk melakukan pengulangan kita harus memmbuat tubuh fungsi pengulangan atau bisa dibilang sebagai bagian yang akan di ulang, pengulangan diatas akan melakukan pengulangan (=) sebanyak 38x.           
            Output dan input, out put disini berguna untuk meminta memasukan berat barang, setah itu untuk memasukan nilai menggunakan fungsi cin.
            Script diatas adalah sebuah rumus inti dari program ini, jadi rumus ini akan menentukan nilai yang akan keluar saat dirunning. Jadi untuk berat barang di bawah 5 kg atau 1 - 5 akan di kenakan biaya sebesar Rp. 25.000, jadi rumusnya ongkir * 5, jadi jika kita memasukan berat 3 kg maka ongkirnya akan tetap Rp. 25.000. dan untuk if ke-2 atau lebih dari 5 ongkirnya akan di hitung RP. 50.000, jadi rumusnya temp = kg % 5, untuk % itu di sebut sebagai modulus dalam pemograman atau di bilang sisa pembagi, misalnya kita memasukan 7, jadi 7 %(modulus) 5 adalah 2. Setelah itu ongkir dikali 2 karena dalam study kasus untuk berat barang lebih dari 5 maka ongkirnya 2x lipat, nah setelah itu (kilo – temp) * jml.
Getch( ) berguna untuk menahan tampilan hasil running, ini merupakan file library dari header conio.h
Return 0; ini merupakan sebuah nilai balik dari int main.

Hasil Running







Study Kasus Latihan 2
            Ongkir Regresif 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
            Dalam study kasus diatas kita dapat menyimpulkan jika berat paket antara 1 – 5 akan tetap di hitung ongkirnya sebesar Rp.25.000 sedangkan untuk berat paket diatas 5 kg akan di tambah Rp. 2.000, jadi jika kita membeli paket 6 kg maka ongkirnya Rp. 27.000 sampai untuk paket dengan berat 10 kg ongkirnya Rp. 35.000, jadi setiap naik 1 kg diatas 5 maka akan di tambah Rp. 2.000.

Script Study Kasus Latihan 2
#include<stdio.h>
#include<conio.h>
#include<iostrwam.h>
int main()
{
long ongkir = 25000,reg = 2000,harga1,harga2,jml,temp;
int kilo,i;
cout<<" PROGRAM ONGKOS KIRIM BARANG REGRESIF"<<endl;
for (i = 0;i < 37;i++)
{
cout<<"=";
}
cout<<"\n Masukan Berat Barang :"<<" ";
cin>>kilo;
if(kilo <= 5)
{
harga1 = ongkir;
cout<<" Biaya Pengiriman : "<<harga1;
}
else if(kilo > 5)
{
temp = ongkir - 10000;
jml = kilo * reg;
harga2 = temp + jml;
cout<<"\n Biaya Pengiriman Rp "<<harga2;
}
getch();
return 0;
}

            Itu lah script program menghitung ongkir regresif, oke langsung saja saya akan menjelaskan script diatas.

Script ini merupakan sebuah pengarah beserta header di mana masing – masing header memiliki file library dan juga memiliki fungsinya tersendiri.
            Script ini merupakan sebuah fungsi utama dalam sebuah program dimana diawali dengan buka kurung kurawal untuk memulai statement dan diakhiri tutup kurung kurawal untuk mengakhiri statement.
            Sript diatas adalah sebuah tipr data dan variable dimana untuk variable ongkir dan reg merupakan sebuah variable kondtanta karena sudah memiliki sebuah nilai yang tidak dapat bisa diubah, untuk long dan int mempunya fungsi sama yaitu sebuah tipe data bilangan bulat tetapi long nilainya mencangkup lebih banyak dibanding int.

            Output diatas saya gunakan untuk menampilkan judul dari program yang akan saya buat. Cout merupakan sebuah file library dari header iostream.h.

            Sama seperti script – script di atas, script ini gunanya untuk melakukan pengulangan, dalam pengulangan kita bisa menentukan awalan dan batasan dari pengulangan, cintihnya i = 0 merupakan sebuah nilai awal dari pengulangan dan i < 37 itu dalah sebuah batas dari pengulangan yaitu 37, dan untuk i++ itu jadi nilai i yg tadinya 0 akan terus di tambah sampai mencapai nilai ke 37. Untuk ( { ) dan  ( } ) adalah sebuah pembuka dan penutup dari tubuh pengulangan yang akan di ulang jadi jika terdapt script diantar ( { ) dan  ( } ) maka script atau keluaran tersebut yang akan dilakukan pengulangan.
            Output diatas digunakan sebagai peritah untuk memasukan berat barang, sedangkan input atau cin digunakan untuk memasukan nilai, dan nilai tersebut akan masuk kedalam variable kilo. Untuk cout dan cin merupakan salah satu dari file libraryheader iostream.h.
            Untuk script diatas merupakan rumus dari study kasus, jadi jika kita membeli barang dangan berat 1 – 5 kg akan di kenakan biaya Rp. 25.000, jadi dalam if pertama kita tetapkan saja harga1 (untuk hasil if pertama) sebagai ongkir(Rp. 25.000) jadi jika nilai yang masuk ke if pertama ongkirnya akan tetap Rp. 25.000. sedangkan untuk berat barang diatas 5 kg akan dikenakan biaya tambahan setiap kenaikan beratnya sebesar Rp. 2.000, jadi untuk berat 6 kg maka harus ditambah Rp. 2.000 jadi 27.000, jadi rumusnya temp = ongkir – 10.000, ongkirnya Rp. 25.000 – 10.000 maka tinggal Rp. 15.000, stelah itu jml = kilo * reg, jadi nilai berat paket  yang kita masukan  akan di kali dengan reg (Rp. 2.000), misalkan kilonya 6 maka di kali 2.000 jadi 12.000, nah setelah itu rumus terakhir yaitu harga2 = temp + jml, tempnya adalah Rp. 15.000 dan jmlnya adalah 12.000, maka hasilnya 27.000 sesuai dengan yang diminta dalam study kasus.
Getch(); berguna untuk menahan tampilan hasil running.
Return 0; adalah nilai balik dari sebuah int main atau fungsi utama, jika fungsi utama tidak memakai int main atau pun selain void main maka fungsi return ini tidak di gunakan.

Hasil Running








Oke sampai disini dulu informasi seputar pemograman yang bisa saya shere, semoga blog ini bisa bermanfaat dan sumber inspirasi bagi para pembacanya, jika kalian mempunyai kritik dan saran silahkan tambahkan pada kolom komentar. Terima kasih atas kunjungannya.







1 komentar:

  1. Warna terang untuk tulisannya jika backgroundnya Hitang Yang cerah jangan warna Gelap

    BalasHapus