Laporan Resmi 03-04 Konsep Pemrograman [Tipe Data Dan Variabel ]
-
Upload
rendra-budi-hutama -
Category
Documents
-
view
404 -
download
33
Transcript of Laporan Resmi 03-04 Konsep Pemrograman [Tipe Data Dan Variabel ]
8/20/2019 Laporan Resmi 03-04 Konsep Pemrograman [Tipe Data Dan Variabel ]
http://slidepdf.com/reader/full/laporan-resmi-03-04-konsep-pemrograman-tipe-data-dan-variabel- 1/21
1
PRAKTIKUM 3
Tipe Data dan Variabel
A.
Dasar TeoriData berdasarkan jenisnya dibagi menjadi lima kelompok, yang dinamakan sebagai
tipe data dasar. Kelima tipe data dasar adalah:
1. Bilangan bulat (integer)
2. Bilangan real presisi-tunggal
3. Bilangan real presisi-ganda
4. Karakter
5. Tak-bertipe (void)
Kata-kunci yang berkaitan dengan tipe data dasar secara berurutan di antaranya
adalah int (short int, long int, signed int dan unsigned int), float, double, dan char. Berikut
tabel informasi mengenai ukuran memori yang diperlukan dan kawasan dari masing-masing
tipe data dasar.
Tipe Total bit Kawasan Keterangan
char 8 -128 s/d 127 Karakter
Int 32 -2147483648 s/d 2147483647 Bilangan integer
float 32 1.7E-38 s/d 3.4E+38 Bilangan real presisi-tunggal
Double 64 2.2E-308 s/d 1.7E+308 Bilangan real presisi ganda
Variabel
Aturan penulisan pengenal untuk sebuah variabel, konstanta atau fungsi yang
didefinisikan oleh pemrogram adalah sebagai berikut :
1. Pengenal harus diawali dengan huruf (A..Z, a..z) atau karakter garis bawah ( _ ).
2. Selanjutnya dapat berupa huruf, digit (0..9) atau karakter garis bawah atau tanda
dollar ($).
3. Panjang pengenal boleh lebih dari 31 karakter, tetapi hanya 31 karakter pertama yang
akan dianggap berarti.
4. Pengenal tidak boleh menggunakan nama yang tergolong sebagai kata -kata cadangan
(reserved words) seperti int, if, while dan sebagainya.
Konstanta
1. Konstanta menyatakan nilai yang tetap. Penulisan konstanta mempunyai aturan
tersendiri, sesuai dengan tipe masing-masing.
8/20/2019 Laporan Resmi 03-04 Konsep Pemrograman [Tipe Data Dan Variabel ]
http://slidepdf.com/reader/full/laporan-resmi-03-04-konsep-pemrograman-tipe-data-dan-variabel- 2/21
2
2. Konstanta karakter misalnya ditulis dengan diawali dan diakhiri dengan tanda petik
tunggal, contohnya : ‘A’ dan ‘@’.
3. Konstanta integer ditulis dengan tanda mengandung pemisah ribuan dan tak
mengandung bagian pecahan, contohnya : – 1 dan 32767.
4.
Konstanta real (float dan double) bisa mengandung pecahan (dengan tanda berupa titik)dan nilainya bisa ditulis dalam bentuk eksponensial (menggunakan tanda e), contohnya :
27.5f (untuk tipe float) atau 27.5 (untuk tipe double) dan 2.1e+5 (maksudnya 2,1 x 105).
5. Konstanta string merupakan deretan karakter yang diawali dan diakhiri dengan tanda
petik-ganda (“), contohnya :“Pemrograman Dasar C”.
Operator Aritmatika
Operator untuk operasi aritmatika yang tergolong sebagai operator binary adalah :
* perkalian
/ pembagian
% sisa pembagian
+ penjumlahan
- pengurangan
8/20/2019 Laporan Resmi 03-04 Konsep Pemrograman [Tipe Data Dan Variabel ]
http://slidepdf.com/reader/full/laporan-resmi-03-04-konsep-pemrograman-tipe-data-dan-variabel- 3/21
3
START
READ
dollar
rupiah
rupiah = dolar * kurs
END
kurs =11.090
B.
Tugas Pendahuluan
Tuliskan desain algoritma dan flowchart untuk soal-soal di bawah ini :
1. Melakukan konversi valuta asing, misalnya mata uang dolar US ke mata uang Rupiah
dimana satu dolar sama dengan Rp 11.090
- Input : uang dalam US dolar
- Proses : uang_rupiah = uang_dolar * 11090
- Output : uang rupiah
a. Algoritma
Deklarasikan dolar, rupiah, dan kurs
sebagai bilangan bulat.
1.
Baca nilai uang dalam US Dollar
dan tampung ke variabel dolar
2. Kalikan dolar dengan kurs dan
tampung hasilnya ke variabel
rupiah
3. Tampilkan isi dari variabel rupiah
b. Flowchart
2. Menentukan banyaknya uang pecahan yang
dibutuhkan, urut dari pecahan terbesar
(100000,50000,20000,10000,5000,2000,1000)
Input : jumlah uang dalam rupiah (misal : 189000)
Proses : ratusanribu = jml_uang dibagi 100000
Sisa = jml_uang – (ratusanribu*100000)
limaplhribu = sisa dibagi 50000
sisa = sisa – (limaplhribu*50000)
dan seterusnya.
Output : 1 Lembar 100000
1 Lembar 50000
1 Lembar 20000
1 Lembar 10000
1 Lembar 5000
2 Lembar 2000
8/20/2019 Laporan Resmi 03-04 Konsep Pemrograman [Tipe Data Dan Variabel ]
http://slidepdf.com/reader/full/laporan-resmi-03-04-konsep-pemrograman-tipe-data-dan-variabel- 4/21
4
a. Algoritma
Deklarasikan uang, lbr100, lbr50, lbr20, lbr20, lbr10,
lbr5, lbr5, lbr2, lbr1 dan sisa sebagai bilangan bulat.
1.
Baca jumlah uang, kemudian tampung di variabeluang.
2. Bagi uang dengan 100000, kemudian tampung
hasilnya di variabel lbr100
3. Cari sisa bagi uang dengan 100000, kemudian
tampung hasilnya di variabel sisa
4. Bagi sisa dengan 50000, kemudian tampung hasilnya
di variabel lbr50
5.
Cari sisa bagi uang dengan 50000, kemudian
tampung hasilnya di variabel sisa
6. Bagi sisa dengan 50000, kemudian tampung hasilnya
di variabel lbr20
7. Cari sisa bagi uang dengan 20000, kemudian
tampung hasilnya di variabel sisa
8. Bagi sisa dengan 50000, kemudian tampung hasilnya
di variabel lbr10
9. Cari sisa bagi uang dengan 10000, kemudian
tampung hasilnya di variabel sisa
10. Bagi sisa dengan 50000, kemudian tampung hasilnya
di variabel lbr5
11. Cari sisa bagi uang dengan 5000, kemudian tampung
hasilnya di variabel sisa
12. Bagi sisa dengan 50000, kemudian tampung hasilnya di variabel lbr2
13. Cari sisa bagi uang dengan 2000, kemudian tampung hasilnya di variabel sisa
14. Bagi sisa dengan 50000, kemudian tampung hasilnya di variabel lbr1
15. Cari sisa bagi uang dengan 1000, kemudian tampung hasilnya di variabel sisa
16. Tampilkan jumlah lembar seratusan ribu yaitu lbr100
17. Tampilkan jumlah lembar lima puluhan ribu yaitu lbr50
18. Tampilkan jumlah lembar tiga puluhan ribu yaitu lbr30
19. Tampilkan jumlah lembar dua puluhan ribu yaitu lbr20
20.
Tampilkan jumlah lembar sepuluhan ribu yaitu lbr10
21. Tampilkan jumlah lembar lima ribuan yaitu lbr5
22. Tampilkan jumlah lembar dua ribuan yaitu lbr2
23. Tampilkan jumlah lembar seribuan yaitu lbr1
START
READ
uang
lbr100,
lbr50,lbr20,
lbr10,
lbr5,
lbr2,
lbr1
l br100 = uang / 100000
sisa = uang % 100000
lbr50 = sisa / 50000
sisa = sisa % 50000
lbr20 = sisa / 20000
sisa = sisa % 20000
lbr10 = sisa / 10000
sisa = sisa % 10000
lbr5 = sisa / 5000
isa = sisa % 5000
lbr2 = sisa / 2000
sisa = sisa % 2000
lbr1 = sisa / 1000
sisa = sisa % 1000
END
b. Flowchart
8/20/2019 Laporan Resmi 03-04 Konsep Pemrograman [Tipe Data Dan Variabel ]
http://slidepdf.com/reader/full/laporan-resmi-03-04-konsep-pemrograman-tipe-data-dan-variabel- 5/21
5
3. Diketahui variabel-variabel sebagai berikut: int a = 12, b = 2, c = 3, d = 4;
Buat program untuk mencetak hasil :
a % b
a - c
a + b
a / d
a / d * d + a % d
a % d / d * a – c
a. Algoritma
1. Deklarasikan a, b dan c sebagai
bilangan bulat dengan nilai a=12,
b =2, c=3 , d=4
2. Lakukan perhitungan sesuai
rumus :
a % b
a - c
a + b
a / d
a / d * d + a % d
a % d / d * a – c
3. Tampilkan seluruh hasil operasi di
atas.
b. Flowchart
4. Buatlah program untuk menghitung Diskriman dari sebuah persamaan kuadrat dengan
nilai a, b dan c yang diinputkan.
a.
Algoritma
Deklarasikan a, b, c, d sebagai bilangan bulat.
1. Baca nilai a dan tampung ke variabel a
2. Baca nilai a dan tampung ke variabel b
3. Baca nilai a dan tampung ke variabel c
4. Hitung diskriminan dengan melakukan
perhitungan sesuai rumus b * b – 4 * a * c, dan
tampung hasilnya di variabel d
5. Tampilkan isi dari variabel d
s1, s2, s3,s4, s5, s6
s1= a % b
s2 = a - c
s3 = a + b
s4 = a / d
s5 = a / d * d + a % d
s6 = a % d / d * a – c
END
a = 12
b = 2
c = 3
d = 4
START
START
READ
a, b, c
PRINTd
d = b * b – 4 * a * c
END
8/20/2019 Laporan Resmi 03-04 Konsep Pemrograman [Tipe Data Dan Variabel ]
http://slidepdf.com/reader/full/laporan-resmi-03-04-konsep-pemrograman-tipe-data-dan-variabel- 6/21
6
5. Kerjakan soal no 4 dan 5 dengan mengubah tipe datanya menjadi float.
5a)
a. Algoritma
5.
Deklarasikan a, b dan c sebagai bilangan pecahan float dengan
nilai a=12, b =2, c=3 , d=4
6. Lakukan perhitungan sesuai
rumus :
a % b
a - c
a + b
a / d
a / d * d + a % d
a % d / d * a – c
7. Tampilkan seluruh hasil operasi di
atas.
b. Flowchart
5b)
a. Algoritma
Deklarasikan a, b, c, d sebagai
bilangan pecahan float.
6.
Baca nilai a dan tampung ke
variabel a
7. Baca nilai a dan tampung ke
variabel b
8. Baca nilai a dan tampung ke
variabel c
9. Hitung diskriminan dengan
melakukan perhitungan sesuai
rumus b * b – 4 * a * c, dan
tampung hasilnya di variabel d
b. Flowchart
PRINTs1, s2, s3,
s4, s5, s6
s1= a % b
s2 = a - c
s3 = a + b
s4 = a / d
s5 = a / d * d + a % d
s6 = a % d / d * a – c
END
a = 12
b = 2
c = 3
d = 4
START
START
READ
a, b, c
d
d = b * b – 4 * a * c
END
8/20/2019 Laporan Resmi 03-04 Konsep Pemrograman [Tipe Data Dan Variabel ]
http://slidepdf.com/reader/full/laporan-resmi-03-04-konsep-pemrograman-tipe-data-dan-variabel- 7/21
7
C.
Percobaan
1. Mengkonversi dolar ke rupiah
a. Listing Program
#include <stdio.h>#define KURS 11090main(){
int dolar, rupiah;printf("\nPRAKTIKUM 3 SOAL 1 \nRENDRA BUDI HUTAMA
\n2110131036 - 1D4ITB\n");printf("\n===================================================
=========================== \n\n");printf("Masukkan nilai uang dalam dolar : ");scanf("%d",&dolar);
rupiah = dolar * KURS;
printf("\n$%d = Rp.%d",dolar,rupiah);printf("\n\n");
getch();}
b. Capture Program
c. Analisis
Tipe variabel yang cocok untuk operasi pada program diatas adalah int(angka)
karena dengan tipe data integer memungkinkan kita untuk melakukan operasi
aritmatika mulai dari penjumlahan, pengurangan, perkalian dan penjumlahan.
2. Menentukan jumlah lembar uang yang dibutuhkan.
a. Listing Program
#include <stdio.h>#define KURS 11090main(){
int uang, sisa, lbr100, lbr50, lbr20, lbr10, lbr5, lbr2,lbr1;
printf("\nPRAKTIKUM 3 SOAL 2 \nRENDRA BUDI HUTAMA\n2110131036 - 1D4ITB\n");
printf("\n============================================================================== \n\n");
printf("Masukkan jumlah uang : ");scanf("%d",&uang);
lbr100 = uang / 100000;sisa = uang % 100000;lbr50 = sisa / 50000;sisa = sisa % 50000;lbr20 = sisa / 20000;sisa = sisa % 20000;
8/20/2019 Laporan Resmi 03-04 Konsep Pemrograman [Tipe Data Dan Variabel ]
http://slidepdf.com/reader/full/laporan-resmi-03-04-konsep-pemrograman-tipe-data-dan-variabel- 8/21
8
lbr10 = sisa / 10000;sisa = sisa % 10000;lbr5 = sisa / 5000;sisa = sisa % 5000;lbr2 = sisa / 2000;sisa = sisa % 2000;lbr1 = sisa / 1000;sisa = sisa % 1000;
printf("\n %d seratus ribuan",lbr100);printf("\n %d lima puluh ribuan",lbr50);printf("\n %d dua puluh ribuan",lbr20);printf("\n %d sepuluh ribuan",lbr10);printf("\n %d lima ribuan",lbr5);printf("\n %d dua ribuan",lbr2);printf("\n %d seribuan",lbr1);
printf("\n\n");
getch();}
b.
Capture Program
c. Analisis
Operasi Pembagian bilangan integer akan menghasilkan bilangan utuh(dibulatkan
ke bawah) apabila sisa bagi tidak sama dengan 0. Sedangkan untuk mendapatkan
nilai sisa itu sendiri, kita dapat menggunakan operator % (modulus).
3. Melakukan operasi aritmatika sederhana
a. Listing Program
#include <stdio.h>main(){
int a=12, b=2 , c=3, d=4;int s1, s2, s3, s4, s5, s6;printf("\nPRAKTIKUM 3 SOAL 3 \nRENDRA BUDI HUTAMA
\n2110131036 - 1D4ITB\n");printf("\n===================================================
=========================== \n\n");
s1 = a % b;s2 = a - c;s3 = a + b;s4 = a / d ;s5 = a / d * d + a % d;s6 = a % d / d * a - c;printf("%d %% %d = %d \n", a, b, s1);printf("%d - %d = %d \n", a, b, s2);printf("%d + %d = %d \n", a, b, s3);printf("%d / %d = %d \n", a, b, s4);printf("%d / %d * %d + %d %% %d = %d \n", a, d, d, a, d, s5);printf("%d / %d * %d + %d %% %d = %d \n", a, d, d, a, d, s5);
getch();
8/20/2019 Laporan Resmi 03-04 Konsep Pemrograman [Tipe Data Dan Variabel ]
http://slidepdf.com/reader/full/laporan-resmi-03-04-konsep-pemrograman-tipe-data-dan-variabel- 9/21
9
}
b. Capture Program
c. Analisis
Di dalam bahasa C terdapat banyak operator yang bisa digunakan untuk berbagai
perhitungan aritmatika.Operator yang biasa digunakan adalah + , - , * , / dan %. Setiap
operator memiliki prioritas yang menentukan urutan eksekusi tiap operator. Misalnya
operator * dan / akan dikerjakan lebih dahulu dibandingkan operator + dan -.
4. Menghitung nilai Diskriminan
a. Listing Program
#include <stdio.h>main(){int a, b, c , d;printf("\nPRAKTIKUM 3 SOAL 4 \nRENDRA BUDI HUTAMA \n2110131036 -1D4ITB\n");printf("\n============================================================================== \n\n");printf("Masukkan nilai a : ");scanf("%d",&a);printf("Masukkan nilai b : ");scanf("%d",&b);printf("Masukkan nilai c : ");scanf("%d",&c);
d = b * b - 4 * a * c;
printf("\nDiskriminannya adalah : %d", d);
getch();}
b. Capture Program
8/20/2019 Laporan Resmi 03-04 Konsep Pemrograman [Tipe Data Dan Variabel ]
http://slidepdf.com/reader/full/laporan-resmi-03-04-konsep-pemrograman-tipe-data-dan-variabel- 10/21
10
c. Analisis
Untuk menghitung nilai diskriminan, diperlukan 3 buah variabel dengan tipe
bilangan bulat. Kemudian ketiga variabel tersebut diproses sesuai rumus diskriminan
yaitu b2-4ac
5. 1. Melakukan operasi aritmatika sederhana dengan tipe bilangan Float
a. Listing Program
#include <stdio.h>
main(){
float a=12, b=2 , c=3, d=4;float s2, s3, s4;printf("\nPRAKTIKUM 3 SOAL 5a \nRENDRA BUDI HUTAMA
\n2110131036 - 1D4ITB\n");printf("\n===================================================
=========================== \n\n");
s2 = a - c;s3 = a + b;s4 = a / d ;
printf("%.2f - %.2f = %.2f \n", a, b, s2);printf("%.2f + %.2f = %.2f \n", a, b, s3);printf("%.2f / %.2f = %.2f \n", a, b, s4);
getch();
}
b. Capture Program
c. Analisis
Untuk bilangan pecahan(float), tidak bisa menggunkan operator modulus. Terbukti
untuk aritmatika no 1, 5 dan 6 yang menggunakan operator modulu, ketika program
dieksekusi terjadi error, namun ketika operasi aritmatika tersebut dihapus, program dapat
dieksekusi.
5.
2. Menghitung nilai Diskriminan dengan tipe data float
a. Listing Program
#include <stdio.h>main(){float a, b, c , d;printf("\nPRAKTIKUM 3 SOAL 4 \nRENDRA BUDI HUTAMA \n2110131036 -1D4ITB\n");
8/20/2019 Laporan Resmi 03-04 Konsep Pemrograman [Tipe Data Dan Variabel ]
http://slidepdf.com/reader/full/laporan-resmi-03-04-konsep-pemrograman-tipe-data-dan-variabel- 11/21
11
printf("\n============================================================================== \n\n");printf("Masukkan nilai a : ");scanf("%d",&a);printf("Masukkan nilai b : ");scanf("%d",&b);printf("Masukkan nilai c : ");scanf("%d",&c);
d = b * b - 4 * a * c;
printf("\nDiskriminannya adalah : %d", d);
getch();}
b. Capture Program
Kesimpulan Percobaan
1. Di dalam bahas C, terdapat berbagai tipe data yang dapat digunakan. Setiap tipe
data memiliki karakteristik dan ukuran tersendiri sehingga pemilihan tipe data yang
benar sangatlah penting.
2. Variabel adalah sebuah pengenal yang nilainya dapat berubah-ubah sedangkan
konstanta adalah sebuah pengenal yang nilainya selalu tetap.
3. Untuk mencetak tampilan ke layar, kita bisa menggunakan fungsi printf() dan
putchar() sedangkan untuk mendapatkan inputan nilai bisa menggunakan fungsi
scanf() dan getchar()
Hirarki Operator Aritmatika
8/20/2019 Laporan Resmi 03-04 Konsep Pemrograman [Tipe Data Dan Variabel ]
http://slidepdf.com/reader/full/laporan-resmi-03-04-konsep-pemrograman-tipe-data-dan-variabel- 12/21
12
Soal Tambahan Laporan Resmi
a. Berapakah hasil akhir dari program berikut :
#include <stdio.h>
main()
{
int a = 22;
a = a + 5;
a = a-2;
printf("a = %d\n", a);
}
Jawab :
Hasil akhir dari program tersebut adalah “a = 25”
b. Berapakah nilai x setelah pernyataan-pernyataan berikut dijalankan, apabila x
bertipe int :
(1) x = (2 + 3) – 10 * 2;
(2) x = (2 + 3) – (10 * 2);
(3) x = 10 % 3 * 2 + 1;
Jawab:
(1) x = (2 + 3) – 10 * 2;
x = 5 – 20
x = 15
(2) x = (2 + 3) – 10 * 2
x = 5 – 20
x = 15
(3) x = 10 % 3 * 2 + 1
x = 1 * 2 + 1
x = 3 + 1
x = 4
c. Nyatakan dalam bentuk pernyataan :
Jawab:
(1)
y = b * x * x + 0.5 * x – c
(2) y = (0.3 * x * z) / (2 * a)
d. Apa hasil eksekusi dari program berikut :
#include <stdio.h>
main()
{
char kar = ‘A’;
kar = kar + 32;
printf("%c\n",kar);
}
Jawab :
Hasil dari eksekusi program diatas adalah “a”. Karakter “A” memiliki bilangan ANSI
65 dimana jika dengan 32 hasilnya adalah 97 yang merupakan ANSI dari “a”
8/20/2019 Laporan Resmi 03-04 Konsep Pemrograman [Tipe Data Dan Variabel ]
http://slidepdf.com/reader/full/laporan-resmi-03-04-konsep-pemrograman-tipe-data-dan-variabel- 13/21
13
PRAKTIKUM 4
Operasi Input dan Output
A.
Dasar TeoriUntuk keperluan menampilkan data/informasi, C menyediakan sejumlah fungsi.
Beberapa di antaranya adalah berupa printf(), putchar(), dan puts().
a. Fungsi putchar()
Fungsi putchar() digunakan khusus untuk menampilkan sebuah karakter di layar.
Penampilan karakter tidak diakhiri dengan perpindahan baris. Contoh :
putchar(‘A’);
menghasilkan keluaran yang sama dengan
printf(“%c”,’A’);
b. Fungsi printf()
Bentuk umum pernyataan printf() :
printf(“string kontrol”,argumen1, argumen2,...);
String kontrol dapat berupa keterangan yang akan ditampilkan pada layar beserta
penentu format (seperti %d, %f,%c). Penentu format dipakai untuk memberi tahu kompiler
mengenai jenis data yang akan ditampilkan. Argumen sesudah string control
argumen1, argumen2,...) adalah data yang akan ditampilkan ke layar. Argumen ini dapat
berupa variabel, konstanta dan bahkan ungkapan. Misal :
printf(“%d”,20); //argumen berupa konstanta
printf(“%d”,a); //argumen berupa variabel
printf(“%d”,a+20); //argumen berupa ungkapan
Tabel 4.1 Penentu format pada printf()
8/20/2019 Laporan Resmi 03-04 Konsep Pemrograman [Tipe Data Dan Variabel ]
http://slidepdf.com/reader/full/laporan-resmi-03-04-konsep-pemrograman-tipe-data-dan-variabel- 14/21
14
c. Fungsi getchar()
Fungsi getchar() digunakan khusus untuk menerima masukan berupa sebuah karakter
dari keyboard. Contoh :
c = getchar();
maka variabel c akan berisi karakter yang diketikkan oleh user atau EOF (end of file) jika
ditemui akhir dari file. Selain fungsi scanf() dan getchar() adalagi fungsi l ain untuk
menginputkan untuk sebaris karakter yaitu fungsi puts().
d. Fungsi scanf()
Fungsi ini digunakan untuk memasukkan berbagai jenis data. Misalnya untuk
memasukkan data jari-jari lingkaran pada program menghitung luas lingkaran.
scanf(“%f”,&radius);
Bentuk scanf() sesungguhnya menyerupai fungsi printf(). Fungsi ini melibatkan
penentu format yang pada dasarnya sama digunakan pada printf(). Secara umum
bentuk scanf() adalah sebagai berikut :
scanf(“string kontrol”, daftar_argumen);
Dengan string kontrol dapat berupa :
Penentu format
Karakter spasi-putih (white-space)
Karakter bukan spasi-putih
scanf(“%f”, &radius);
berarti (bagi komputer) : “bacalah sebuah bilangan real (%f) dan tempatkan ke
alamat dari radius (&radius)”.
Untuk menentukan panjang medan yang disediakan bagi tampilan data, maka sesudah
tanda % dalam penentu format dapat disisipi dengan bilangan bulat yang menyatakan
panjang medan. Untuk data yang berupa bilangan bulat, misal pada :printf(“Abad %4d”, 20);
%4d menyatakan medan untuk menampilkan bilangan 20 adalah sepanjang 4 karakter.
Untuk data yang berupa bilangan real, spesifikasi medannya berupa
m = panjang medan
n = jumlah digit pecahan
Contoh pada pernyataan :
printf(“Harga : Rp %8.2f\n”, 500.0);
%8.2f menyatakan panjang medan dari bilangan real yang akan ditampilkan adalah 8
karakter dengan jumlah digit pecahan 2 buah.
8/20/2019 Laporan Resmi 03-04 Konsep Pemrograman [Tipe Data Dan Variabel ]
http://slidepdf.com/reader/full/laporan-resmi-03-04-konsep-pemrograman-tipe-data-dan-variabel- 15/21
15
Kalau hanya jumlah digit pecahan yang perlu ditentukan, panjang medan tak perlu
disertakan, misal :
printf(“%.2f\n”, 600.0);
printf(“%.2f\n”, 7500.25);
hasilnya :
600.00
7500.25
Untuk data yang berupa string, contoh :
printf(“%12s”, “Bahasa C”);
maka akan ditampilkan sebagai berikut
Tampak dalam berbagai jenis data di atas, penentu format yang mengandung panjang
medan, secara default akan menampilkan data dalam bentuk rata kanan terhadap
panjang medan yang diberikan. Untuk data string yang biasanya dikehendaki untuk
ditampilkan dalam bentuk rata kiri, maka sesudah tanda % pada penentu format %s perlu
disisipkan tanda – (minus), contoh :
printf(“%-12s”, “Bahasa C”);
menyatakan bahwa string akan ditampilkan dalam medan dengan panjang 12 karakter dan
diatur rata kiri. Sehingga tampilan di atas berubah menjadi :
8/20/2019 Laporan Resmi 03-04 Konsep Pemrograman [Tipe Data Dan Variabel ]
http://slidepdf.com/reader/full/laporan-resmi-03-04-konsep-pemrograman-tipe-data-dan-variabel- 16/21
16
B.
Tugas Pendahuluan
Tuliskan desain algoritma dan flowchart untuk soal-soal di bawah ini :
1. Buatlah program untuk mengkonversi suhu dari Celcius ke Fahrenheit dengan rumus
F = C * 1.8 + 32
Input : suhu dalam Celcius
Output : suhu dalam Fahrenheit
Jawab :
a. Algoritma
Deklarasikan f dan c sebagai bilangan
pecahan float.
1.
Baca nilai suhu dalam celcius
kemudian tampung di variabel c.
2. Kalikan c dengan 1.8 kemudian
tambahkan dengan 32, tampung
hasilnya di f
3. Tampilkan f di layar
b. Flowchart
2. Buatlah program untuk menghitung total pendapatan bulanan seorang karyawan
dengan ketentuan sebagai berikut:
Tunjangan istri/suami = 10% dari gaji pokok
Tunjangan anak = 5% dari gaji pokok untuk setiap anak
THR = Rp 5000 kali masa kerja (tahun)
(-) Pajak = 15% dari gaji pokok, tunjangan istri & anak
Bantuan transport = Rp 3000 kali masuk kerja (hari)
(-) Polis asuransi = Rp 20000
tanda (-) artinya mengurangi pendapatan.
Tentukan dahulu apa-apa saja yang akan menjadi input dan output (ke layar) dari
program. Tentukan juga variabel-variabel yang akan digunakan beserta tipenya.
INPUT : gajipokok, masakerja, harikerja, jumlahanak
OUTPUT : gajitotal
VARIABEL :
- gajipokok (int)
-
maskerja (short int)
- harikerja (short int)
-
jumlahanak (short int)
- tunjanganistri (int)
-
tunjangananak (int)
- tunjanganraya (int)
-
transport (int)
- pajak (int)
-
asuransi (int)
- gajitotal (int)
START
READc
f = c * 1,8 + 32
PRINTf
END
8/20/2019 Laporan Resmi 03-04 Konsep Pemrograman [Tipe Data Dan Variabel ]
http://slidepdf.com/reader/full/laporan-resmi-03-04-konsep-pemrograman-tipe-data-dan-variabel- 17/21
17
a. Algoritma
1. Baca nilai gajipokok , masakerja,
harikerja, dan jumlahanak
2. Hitung tunjanganistri dengan cara
mengalikan gajipokok dengan 0,13. Hitung tunjangananak dengan cara
mengalikan gaji pokok dengan 0.05
(5%) dan jumlahanak
4. Hitung tunjanganraya(THR)
dengan cara mengalikan masa kerja
dengan Rp. 5000
5. Hitung transport(Bantuan
Transport) dengan cara mengalikan
harikerja dengan Rp. 3000
6. Hitung pajak dengan cara
mengalikan 0.15(15%) dengan
jumlah gajipokok ditambah
tunjangananak dan tunjanganistri
7. Hitung totalgaji yang dibawa
pulang yaitu gajipokok +
tunjangananak + tunjanganistri +
tunjanganraya + transport –
pajak – asuransi
8. Tampilkan totalgaji ke layar
b. Flowchart
3. Harga tiket pertandingan sepak bola, Rp 50.000,-. Bila membeli dua tiket (seharga Rp
100.000,-), maka ada bonus 1 tiket gratis. Buatlah program untuk menghitung biayayang harus dibayar untuk sejumlah tiket yang diperlukan (diinputkan).
a. Algoritma
1. Baca jumlah tiket yang akan dibeli
2. Hitung jumlahpaket “beli 2 gratis 1” yang
memungkinkan dengan cara membagi jumlahtiket
dengan angka 3
3. Hitung sisatiket yang harus dibayar utuh dengan
cara modulus jumlahtiket dengan angka 3
4. Hitung total uang yang harus dibayar yaitu dengan
rumus :
jumlahpaket * 100000 + sisatiket * 50000
5. Tampilkan hasil dar perhitungan tadi
asuransi =
20000
START
READ
gajipokok,masakerja,arikerja,jumlahanak
tunjanganistri = 0.10 * gajipokok
tunjangananak = 0.05 * gajipokok *
jumlahanak
tunjanganraya = masakerja * 3000
transport = harikerja * 5000
pajak = gajipokok + tunjangananak+ tunjanganistri * 0.15
totalgaji = gajipokok + tunjangananak
+ tunjanganistri + tunjanganraya +
transport – pajak – asuransi
PRINTtotalgaji
END
START
READjumlahtiket
jumlahpaket = Sjumlahtiket / 3sisatiket = jumlahtiket % 3
bayar = jumlahpaket * 100000 +sisatiket * 50000
PRINTf
END
b. Flowchart
8/20/2019 Laporan Resmi 03-04 Konsep Pemrograman [Tipe Data Dan Variabel ]
http://slidepdf.com/reader/full/laporan-resmi-03-04-konsep-pemrograman-tipe-data-dan-variabel- 18/21
18
C.
Percobaan
1. Program untuk mengkonversi suhu dari Celcius ke Fahrenheit
a. Listing program
#include <stdio.h>
main(){
float c, f;printf("\nPRAKTIKUM 4 SOAL 1 \nRENDRA BUDI HUTAMA
\n2110131036 - 1D4ITB\n");printf("\n===================================================
=========================== \n\n");
printf("Masukkan suhu dalam Celcius : ");scanf("%f",&c);f = c * 1.8 + 32;printf("\n%.2f Celcius = %.2f\n", c, f);
getch();}
b. Capture Program
c. Analisis
Untuk mengkonversi suhu dari Celcius ke Fahrenheit, digunakanlah data
bertipe float agar dapat diketahui presisi yang tepat tiap termometer.
2. Program untuk menghitung gaji yang dibawa pulang
a. Listing Program
#include <stdio.h>main(){
float jumlah_anak,g_pokok,g_total,t_istri, t_anak, t_raya,transport, pajak, asuransi = 20000, masa_kerja, hari_kerja;
printf("\nPRAKTIKUM 4 SOAL 2 \nRENDRA BUDI HUTAMA\n2110131036 - 1D4ITB\n");
printf("\n============================================================================== \n\n");
printf("Masukkan gaji pokok \t\t = Rp. ");
scanf("%f",&g_pokok);printf("Masukkan masa kerja(tahun) \t = ");scanf("%f",&masa_kerja);printf("Masukkan jumlah hari kerja \t = ");scanf("%f",&hari_kerja);printf("Masukkan jumlah anak \t\t = ");scanf("%f",&jumlah_anak);
t_anak = 0.05 * jumlah_anak * g_pokok;t_istri = 0.10 * g_pokok;t_raya = 5000 * masa_kerja;
8/20/2019 Laporan Resmi 03-04 Konsep Pemrograman [Tipe Data Dan Variabel ]
http://slidepdf.com/reader/full/laporan-resmi-03-04-konsep-pemrograman-tipe-data-dan-variabel- 19/21
19
transport = 3000 * hari_kerja;pajak = 0.15 * (g_pokok + t_anak + t_istri);g_total = g_pokok + t_anak + t_istri + t_raya - pajak -
asuransi;
printf("\nJumlah Tunjangan yang diterima \t\t= Rp. %.2f",t_anak + t_istri + t_raya + transport);
printf("\nPotong gaji untuk pajak dan asuransi \t= Rp.
%.2f",pajak + asuransi);printf("\nJumlah gaji yang dibawa pulang \t\t= Rp.
%.2f",g_total);
getch();}
b. Capture Program
c. Analisis
Tipe data yang cocok digunakan untuk program ini adalah tipe data float karena
di dalam program ini memerlukan perkalian secara prosentase misalnya dalam
menentukan tunjangan istri kita perlu mengalikan gaji pokok dengan bilangan
pecahan 0.1 atau 10 / 100. Jika menggunakan int atau bilangan bulat, hasilnya
akan kurang akurat karena akan dibulatkan ke bawah di setiap pembagian.
3. Program penghitung biaya pembayaran tiket
a. Listing Program
#include <stdio.h>main(){int jum_tiket, jum_paket, jum_utuh, bayar;
printf("\nPRAKTIKUM 4 SOAL 3 \nRENDRA BUDI HUTAMA\n2110131036 - 1D4ITB\n");printf("\n===================================================
=========================== \n\n");
printf("Masukkan jumlah tiket \t = ");scanf("%d",&jum_tiket);
jum_paket = jum_tiket / 3;jum_utuh = jum_tiket % 3;
bayar = jum_paket * 100000 + jum_utuh * 50000;
printf("\nTotal pembayaran \t = Rp. %d", bayar);
getch();}
8/20/2019 Laporan Resmi 03-04 Konsep Pemrograman [Tipe Data Dan Variabel ]
http://slidepdf.com/reader/full/laporan-resmi-03-04-konsep-pemrograman-tipe-data-dan-variabel- 20/21
20
b. Capture Program
c. Analisis
Operator “/” apabila dikenakan ke bilangan bulat(int) maka hanya akanmemunculkan hasil pembagian utuh dengan pemulatan ke bawah tanpa angkadibelakang koma.
Kesimpulan Percobaan :
1. Untuk mencetak tampilan ke layar, kita bisa menggunakan fungsi printf(), puts()
dan putchar() sedangkan untuk mendapatkan inputan nilai bisa menggunakan fungsi
scanf() dan getchar().
2. Fungsi printf() atau print format memungkinkan kita untuk memformat dahulu data
yang akan kita tampilkan ke layar yaitu dengan menambahkan angka parameter
setelah tanda %, contoh %2.5f.
Soal-soal Laporan Resmi
a. Pilihlah nama-nama variabel yang benar dan yang salah, mengapa ?
int = Salah, menggunakan reserved word
char = Salah, menggunakan reserved word
6_05 = Salah, diawali dengan angka
floating = Benar
_1312 = Benarcalloc = Benar
Xx = Benar
A$ = Benar
ReInitialize = Benar
alpha_beta_routine = Benar
xxx = Benar
z = Benar
b. Apa yang dihasilkan oleh program di bawah ini :
main()
{
char c, d;
c = 'd';d = c;
printf("d = %c", d);
}
Jawab :
Program tersebut akan menampilkan karakter “d” yang terdapat pada variable d.
8/20/2019 Laporan Resmi 03-04 Konsep Pemrograman [Tipe Data Dan Variabel ]
http://slidepdf.com/reader/full/laporan-resmi-03-04-konsep-pemrograman-tipe-data-dan-variabel- 21/21
c. Buatlah program untuk mengevaluasi polynomial di bawah ini :
3x2 – 5x + 6 dengan nilai x merupakan masukan dari user.
Jawab :
#include <stdio.h>main(){
int x,hasil;
printf("\nSOAL LAPRES PRAK 4 NO 3 \nRENDRA BUDI HUTAMA\n2110131036 - 1D4ITB\n");
printf("\n============================================================================== \n\n");
printf("Masukkan nilai x : ");scanf("%d",&x);
hasil = 3 * x * x - 5 * x + 6;
printf("\nHasil dari 3 * %d * %d - 5 * %d + 6 = %d \n",x,x,x,hasil);
getch();}
Hasil :