LABORATORIUM PEMBELAJARAN ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER
UNIVERSITAS BRAWIJAYA
BAB
: PROGRAM INPUT, OUTPUT, DAN PROSES
NAMA
: CAKRA BHIRAWA
NIM
: 175150307111037
TANGGAL : 15/09/2017
ASISTEN :
- MUHAMMAD ANATA PRATAMA
-
JENRINALDO TAMPUBOLON
A.
DEFINISI MASALAH
1. Buatlah program dengan tampilan sebagai berikut :
Masukkan operator pertama : 3
Masukkan operator kedua : 2
Hasil penjumahan : 5
Hasil pengurangan : 1
Hasil perkalian : 6
Hasil pembagian : 1.5
2. Buatlah program untuk menghitung pemakaian daya listrik dirumah tangga secara sederhana. Tampilan program sebagai berikut :
Program penghitung pemakaian listrik sederhana
Masukkan Nama : Bpk Asisten
Kelurahan : Java
Masukkan posisi awal Kwh Meter : 8000
Masukkan posisi akhir Khw Meter : 9000
Masukkan biaya beban saat ini : 140
Masukkan PPJ (dalam persen) : 10
===================PLN Java===================
Nama : Bpk Asisten
Kelurahan : Java
Pemakaian bulan ini : 1000 Kwh
Meter Tarif Listrik : Rp 140000,-
PPJ 10% : Rp 14000,-
Total Bayar : Rp154000,-
B.
SOURCE CODE
1. Operasi_Bilangan.cpp 1 using namespace std ;main (){
float x,y;
float penjumlahan,pengurangan,perkalian,pembagian;
cout << "Masukkan Operator Pertama : "; cin >> x;
cout << "Masukan Operator Kedua : "; cin >> y;
penjumlahan = x+y; pengurangan = x-y; perkalian = x*y; pembagian = x/y;
cout << "Hasil Penjumlahan : " << penjumlahan << endl; cout << "Hasil Pengurangan : " << pengurangan << endl; cout << "Hasil Perkalian : " << perkalian << endl; cout <<"Hasil Pembagian : " << pembagian << endl;
cout << "Cakra Bhirawa,Universitas Brawijaya - Teknik Komputer 175150307111037" << endl;
}
2. Program_Penghitung_Pemakaian_Listrik_Sederhana.cpp 1 using namespace std;
main (){
char nama [125],lurah [60]; int awal,akhir,biaya,ppj;
int pemakaian,tarif,pajak,total;
cout << " Program penghitung pemakaian listrik sederhana "<< endl;
cout << "Masukkan Nama : "; cin.getline (nama,125);
cout << "Kelurahan : ";
cin.getline(lurah,60) ;
cout << "Masukkan posisi awal Kwh Meter : "; cin >>awal;
cout << "Masukkan posisi akhir Kwh Meter : "; cin >>akhir;
cout << "Masukkan biaya beban saat ini : "; cin >>biaya;
cout << "Masukkan PPJ (dalam persen) : "; cin >>ppj;
28
tarif = biaya*pemakaian; pajak = tarif*ppj/100; total = tarif+pajak;
cout << "==================="<<"PLN " << lurah << "===================" << endl;
cout << "Nama : " << nama << endl;
cout << "Kelurahan : " << lurah << endl;
cout << "Pemakaian bulan ini : " << pemakaian << " Kwh Meter "<< endl;
cout << "Tarif listrik : Rp " << tarif << ",-" << endl;
cout << "PPJ " << ppj << "% : Rp" << pajak << ",-" << endl;
cout << "Total bayar : Rp" << total << ",-" << endl;
cout << "==============================================" << endl;
cout << "Cakra Bhirawa,Universitas Brawijaya - Teknik Komputer 175150307111037" << endl;
}
C.
PEMBAHASAN
1. Operasi_Bilangan.cpp 1
Deklarasi header untuk memanggil fungsi-fungsi yang akan ditampilkan
Deklarasi compiler bahwa akan menggunakan semua fungsi/class/file yang terdapat dalam namespace std
Memulai eksekusi program Inisialisasi variabel float x,y
Inisialisasi variabel float penjumlahan,pengurangan,perkalian,pembagian Monitor akan menampilkan “Masukkan Operator Pertama : “
Pengguna dapat memasukkan angka yang diminati untuk variabel float x Monitor akan menampilkan “Masukkan Operator kedua : “
Pengguna dapat memasukkan angka yang diminati untuk variabel float y Proses matematika penjumlahan dari variabel x dengan y, dan hasilnya akan disimpan dalam variabel penjulahan dengan tipe data float
Proses matematika pengurangan dari variabel x dengan y, dan hasilnya akan disimpan dalam variabel pengurangan dengan tipe data float
Proses matematika perkalian dari variabel x dengan y, dan hasilnya akan disimpan dalam variabel perkalian dengan tipe data float
Proses matematika pembagian dari variabel x dengan y, dan hasilnya akan disimpan dalam variabel pembagian dengan tipe data float
18
19
20
22
Monitor akan menampilkan “Hasil Pengurangan : “ dengan output yang diambil dari variabel pengurangan dan akan mengakhiri baris ini
Monitor akan menampilkan “Hasil Perkalian : “ dengan output yang diambil dari variabel perkalian dan akan mengakhiri baris ini
Monitor akan menampilkan “Hasil Pembagian : “ dengan output yang diambil dari variabel pembagian dan akan mengakhiri baris ini
Monitor akan menampilkan “Cakra Bhirawa, Universitas Brawijaya – Teknik Komputer 175150307111037”
2. Program_Penghitung_Pemakaian_Listrik_Sederhana.cpp 1
Deklarasi header untuk memanggil fungsi-fungsi yang akan ditampilkan
Deklarasi compiler bahwa akan menggunakan semua fungsi/class/file yang terdapat dalam namespace std
Memulai eksekusi program
Inisialisasi variabel character nama dengan batasan karakter 125, dan lurah dengan batasan karakter 60
Inisialisasi variabel integer awal,akhir,biaya,ppj Inisialisasi variabel integer pemakaian,tarif,pajak,total
Monitor akan menampilkan “Program penghitung pemakaian listrik sederhana “dan akan mengakhiri baris ini
Monitor akan menampilkan “Masukkan Nama : “
Pengguna dapat memasukkan variabel character berupa kata dan akan disimpan pada variabel nama dengan batasan 125 karakter
Monitor akan menampilkan “Kelurahan : “
Pengguna dapat memasukkan variabel character berupa kata dan akan disimpan pada variabel lurah dengan batasan 60 karakter
Monitor akan menampilkan “Masukkan posisi awal Kwh Meter : “
Pengguna dapat memasukkan variabel int berupa numerik dan akan disimpan pada variabel awal
Monitor akan menampilkan “Masukkan posisi akhir Kwh Meter : “
Pengguna dapat memasukkan variabel int berupa numerik dan akan disimpan pada variabel akhir
Monitor akan menampilkan “Masukkan biaya beban saat ini : “
Pengguna dapat memasukkan variabel int berupa numerik dan akan disimpan pada variabel biaya
Monitor akan menampilkan “Masukkan PPJ (dalam persen) : “
Pengguna dapat memasukkan variabel int berupa numerik dan akan disimpan pada variabel ppj
Proses matematika pengurangan dari variabel akhir dengan awal dan hasilnya akan disimpan dalam variabel pemakaian dengan tipe data integer
Proses matematika perkalian dari variabel biaya dengan pemakaian dan hasilnya akan disimpan dalam variabel tarif dengan tipe data integer
Proses matematika perkalian dari variabel tarif dengan persentase dari ppj dan hasilnya akan disimpan dalam variabel pajak dengan tipe data integer
33
disimpan dalam variabel total dengan tipe data integer
Monitor akan menampilkan “=================== PLN” kemudian akan ditambahkan variabel lurah sebagai penanda kelurahan PLN tersebut dan diteruskan lagi dengan ” “===================” dan akan mengakhiri baris ini
Monitor akan menampilkan “Nama : “ dan memasukkan variabel nama pada baris ini kemudian mengakhiri baris ini
Monitor akan menampilkan “Kelurahan : “ dan memasukkan variabel lurah pada baris ini kemudian mengakhiri baris ini
Monitor akan menampilkan “Pemakaian bulan ini : “ dan memasukkan variabel pemakaian pada baris ini lalu ditambahkan lagi dengan “,-“ kemudian mengakhiri baris ini
Monitor akan menampilkan “Tarif listrik : Rp “ dan memasukkan variabel tarif pada baris ini lalu ditambahkan “,-“ kemudian mengakhiri baris ini
Monitor akan menampilkan “PPJ “ dan memasukkan variabel ppj pada baris ini lalu ditambahkan “% : Rp“ kemudian memasukkan variabel pajak dengan ditambahkan “,-“ dan akan mengakhiri barisan ini
Monitor akan menampilkan “Total bayar: Rp “ dan memasukkan variabel total pada baris ini lalu ditambahkan “,-“ kemudian mengakhiri baris ini
Monitor akan menampilkan
“==============================================“kemudian
mengakhiri baris ini
Monitor akan menampilkan “Cakra Bhirawa, Universitas Brawijaya – Teknik Komputer 175150307111037”
D.
SCREENSHOT PROGRAM
2. Program_Penghitung_Pemakaian_Listrik_Sederhana.cpp
E.
PRAKTIKUM
1. Outputa. Jalankan program Output 1–Output 2 dan benahi jika menemukan kesalahan! Source code output 1
Hasil eksekusi output 1
Berdasarkan eksekusi yang dapat dilaksanakan, maka dapat dipastikan bahwa source code 1 tidak memiliki kesalahan dalam penulisan kodenya.
Hasil eksekusi output 2
Berdasarkan hasil eksekusi dari source code 2 maka dapat dinyatakan bahwa penulisan kode output 2 sudah benar.
b. Pada program Output 1 baris 3–6, jelaskan arti dari kode tersebut dan temukan perbedaannya!
Baris 3: komputer menampilkan kalimat “pemrograman C” dengan ketentuan yang disebutkan sebelumnya yaitu “%s%c\n” yang berarti penempatannya berada di awal baris sebelum karakter | .
Baris 4: komputer menampilkan kalimat “pemrograman C” dengan ketentuan yang disebutkan sebelumnya yaitu “%30s%c\n” yang berarti penempatannya berada setelah 30 kolom awal pada baris sebelum karakter | .
Baris 5: komputer menampilkan kalimat “pemrograman C” dengan ketentuan yang disebutkan sebelumnya yaitu “%-30s%c\n” yang berarti penempatannya berada 30 kolom sebelum dari karakter | atau dalam hal ini awal statement yang ada.
Baris 6: komputer menampilkan kalimat “pemrograman C” namun dibatasi sehingga yang ditampilkan adalah kata “pemro” karena ketentuan yang disebutkan sebelumnya yaitu “%30.5s%c\n” yang berarti penempatannya berada 30 kolom sebelum dari karakter | dan hanya mengeluarkan 5 huruf karena kode “.” Yang digunakan untuk membatasi tampilan kalimat
Perbedaannya ialah
a. Kalimat pada baris 6 hanya terbaca “pemro” karena terdapat ketentuan nilai “.5” pada ketentuan “%30.5s%c\n” yang menyebabkan statement dari character itu hanya diambil 5 huruf saja.
b. Jarak antara “pemrograman C” dengan karakter | . dimana tiap baris
menyatakan nilai berbeda yaitu pada “%30s” sehingga menyebabkan jaraknya berada pada tengah, akhir, awal dari statement yang ada.
c. Pada program output1 baris 3 ganti karakter ‘|’ menjadi ‘ab’ amati dan jelaskan!
Source code
Eksekusi pergantian karakter pada baris 3
Dapat kita lihat bahwa fungsi tanda kutip satu (‘) hanya mampu menampung satu karakter saja, sehingga jika kita ubah semisal menjadi ‘ab’ maka yang teridentifikasi hanyalah b atau karakter terakhir dari kata yang berada dalam tanda kutip satu (‘) tersebut, begitu pula seterusnya.
d. Pada program Output 1 setelah baris 6 tambahkan kode program dengan syntax printf("%-30.8s%c\n","Pemrograman C",'|'); kemudian amati perbedaannya dengan baris 6 dan simpulkan!
Penambahan syntax printf
Perbedaan yang terlihat ialah dimana pada baris 6 terdapat 5 huruf saja karena ketentuan nilai yang dinyatakan adalah “%30.5s%c\n” yang berarti komputer hanya mengambil 5 huruf berdasarkan ketentuan. Kemudian pada baris 7 berdasarkan ketentuannya maka yang akan ditampilkan hanya 8 huruf saja yaitu “pemrogra” berdasarkan ketentuan “%-30.8%c\n” dan penempatannya akan berada di awal statement karena batasannya karena pada output hanya dapat ditampilkan “s” dan tidak bisa kurang dari itu lagi.
e. Pada program Output 2 tambahkan kode program yang mencetak nilai x dengan format 2 angka di belakang koma!
Source code untuk format 2 angka di belakang koma Printf(“%.2f\n”,x);
f. Pada program Output 2 tambahkan kode berikut
printf("%g%15e%15.3f\n",x,x,x); amati apa yang terjadi dan jelaskan! Source code untuk printf("%g%15e%15.3f\n",x,x,x);
Hasil eksekusinya
maka yang terjadi adalah 3 hal yaitu
a. Kode notasi “%g” akan menampilkan output yang berupa variabel float
(desimal) yang lebih pendek daripada kode notasi “%f”.
b. Kode notasi “%15e” akan menampilkan output berupa variabel float
(desimal) dengan lebar sebanyak 15 kolom.
c. Kode notasi "%15.3f” akan menampilkan output berupa variabel float
(desimal) dengan lebar sebanyak 15 kolom serta hanya mengambil 3 angka di belakang koma.
g. Dari kedua jenis output tersebut simpulkan dan temukan perbedaannya! Pada kedua jenis output tersebut dapat disimpulkan bahwa setiap eksekusi untuk kode notasi sangat berpengaruh terhadap posisi hingga pengeluaran output yang akan ditampilkan oleh komputer sebagai contoh untuk perbedaannya:
a. Pada output 1 saya dikenalkan hanya pada variabel character yang mana akan berpengaruh pada penempatan outputnya dan apa yang akan ditampilkannya. Lalu pada output 2 saya dikenalkan oleh jenis variabel float yang berupa angka desimal yang panjang sehingga akan
b. Perbedaan paling nyata adalah pada variabel output 1 hanya dipakai variabel character yang berupa karakter alfabet saja dan pada variabel output 2 dipakai variabel float (desimal).
Selain penggunaan tanda kutip satu (‘) hanya akan mengidentifikasi 1
karakter saja dan tanda kutip dua (“) akan mengidentifikasi lebih dari 1
karakter.
h. Carilah format specifier lain yang tersedia di bahasa C selain yang ada di contoh!
Tipe Data Penentu Format
Floating point Bentuk Precision Unsigned Integer Long Integer
Long Unsigned Integer Unsigned hexadec. Int. Unsigned Octal int.
-%lf %u %ld %lu %x %o
2. Variabel
a. Jalankan program Variabel dan benahi jika menemukan kesalahan! Source code
Hasil eksekusi source code
Source code perbaikan
Hasil eksekusi source code perbaikan
b. Setelah baris 5 tambahkan syntax untuk mengurangkan nilai dari variabel nilai dan nilai_2, amati yang terjadi dan jelaskan! (benahi jika menemukan kesalahan)
Hasil eksekusi source code syntax nilai-nilai_2
c. Setelah baris 8 tambahkan variabel dengan type data char dengan nama variabel: ch dan mempunyai nilai sama seperti pada variabel s dan amati apa yang terjadi, jelaskan!
Source code
Hasil eksekusi source code
memiliki nilai yang sama seperti variabel “char s”, namun jika tidak dipanggil variabel “char ch” tidak akan beroperasi.
d. Tambahkan variabel dengan nama nilai3 yang bertipe data integer dan diberi nilai awal 100 kemudian lakukan pembagian yang disimpan pada variabel hasil kemudian cetak menggunakan kelas printf()!
Source code
e. Tambahkan variabel dengan nama nilai3 yang bertipe data integer dan diberi nilai awal 100 kemudian lakukan pembagian tanpa harus disimpan disebuah variabel melainkan cetak pada layar menggunakan printf()!
Source code
Hasil eksekusi source code
f. Jelaskan perbedaan antara No. 4 dan No. 5!
3. Input
a. Jalankan program Input dan benahi jika menemukan kesalahan! Source code
Hasil eksekusi source code
Kesalahan tidak terdapat dalam source code awal sehingga tidak diperlukan untuk diperbaiki.
b. Tambahkan perintah untuk memasukkan nama dan NIM user dan ditampilkan pada akhir program!
Source code
b.
Hasil eksekusi source code