Pemrograman Terstruktur
Oleh : Sudirman S.Kom
PEMROGRAMAN TERSTRUKTUR PERTEMUAN XI
Mengenal printf printf untuk mencetak data baik yang bertipe numeric ataupun teks Contoh 1 : #include <stdio.h> void main() { printf(“Hai, Selamat menggunakan C++ \n “); } hasil output program ini adalah : Hai, Selamat menggunakan C++
\ disebut karakter escape, diikuti oleh karakter tunggal. \n \t \f \’ \” \\
newline (baris baru) tab formfeed tanda kutip tunggal tanda kutip ganda backslash
Contoh 2 : #include <stdio.h> void main() { printf(“%c merupakan abjad yang ke %d “,’b’,2); } hasil output program ini adalah : b merupakan abjad yang ke 2 Penentu Format : Tipe data Integer Floating point -Bentuk desimal -Bentuk berpangkat -Yang lebih pendek antara desimal dan berpangkat Double precision Contoh : void main() {
Penentu Tipe data format %d Character String %f Unsigned Integer %e Long integer Long Unsigned integer %g %lf
Penentu format %c %c %u %ld %lu
Pemrograman Terstruktur
Oleh : Sudirman S.Kom
float bil = 2.5, nomor = 30.756; printf(“bilangan = %f \n“,bil); printf(“nomor = %f \n“,nomor); } hasil output program ini adalah : bilangan = 2.50000 nomor = 30.756001 Panjang data dan desimal dapat diatur dengan memberikan format tambahan : %a.bf lebar field jumlah desimal dimana a dan b berupa bilangan bulat. Contoh modifikasi program diatas : void main() { float bil = 2.5, nomor = 30.756; printf(“bilangan = %10.2f \n“,bil); printf(“nomor = %10.2f \n“,nomor); } hasil output program ini adalah : bilangan = nomor =
Contoh : %10.2f data yg akan mempunyai format lebar field 10 digit dgn jumlah desimal 2
2.50 30 .76
Mengenal scanf scanf untuk membaca data baik yang bertipe numeric ataupun teks.
Bentuk : scanf(“penentu format”,&namavariabel); Contoh : void main() { float bil1, bil2, bil3; printf(“Masukkan bilangan pertama :“);
Pemrograman Terstruktur
Oleh : Sudirman S.Kom
scanf(“%f”,&bil1); printf(“Masukkan bilangan kedua :“); scanf(“%f”,&bil2); bil3 = bil1 + bil2; printf(“Total kedua bilangan : %.3f“); } hasil output program ini adalah : Masukkan bilangan pertama : 45.5 Masukkan bilangan kedua : 30.25 Total kedua bilangan : 75.75 Perhatikan : Dengan scanf( ) akan memindahkan teks yang berikutnya ke baris baru. Jadi tidak perlu memakai \n. CONTOH SOAL 1 : /* Menghitung jumlah pembayaran dan discount dengan fungsi */ #include <stdio.h> /* prototype fungsi discount */ float discount(float belanja); void main() { float jml_belanja, discount=0, jml_bayar; printf(“\nBesarnya Belanja : “); scanf(“%f”,&jml_belanja); jml_bayar = jml_belanja – discount(jml_belanja); printf(“\nDiscount : %10.2f “, discount); printf(“\nUang Pembayaran : %10.2f “,jml_bayar); } /* definisi fungsi discount */ float discount(float belanja) { float disc; if (belanja >= 100000) disc = 0.10 * belanja; return(disc);
Pemrograman Terstruktur
Oleh : Sudirman S.Kom
} CONTOH SOAL 2 : /* Menghitung jumlah pembayaran dan discount dengan fungsi */ /* besarnya discount di isi dari input */ #include <stdio.h> /* prototype fungsi discount */ float discount(float belanja, float pctdisc); void main() { float jml_belanja, prsdisc, hrg_discount, jml_bayar; printf(“\nBesarnya Belanja : “); scanf(“%f”,&jml_belanja); printf(“\nBesarnya Discount [contoh : 1,5,10] : “); scanf(“%f”,&prsdisc); hrg_discount = discount(jml_belanja, prsdisc); jml_bayar = jml_belanja – hrg_discount printf(“\nDiscount : %10.2f “,hrg_discount); printf(“\nUang Pembayaran : %10.2f “,jml_bayar); } /* definisi fungsi discount */ float discount(float belanja, float pctdisc) { float disc; if (belanja >= 100000) disc = (pctdisc/100) * belanja; return(disc); }
Pemrograman Terstruktur
Oleh : Sudirman S.Kom
SOAL : BUATLAH PROGRAM DENGAN FUNGSI UNTUK MENGHITUNG GAJI KARYAWAN BERDASARKAN KETENTUAN SBB : 1. GAJI = GAJI POKOK + TUNJANGAN - PAJAK 2. GAJI POKOK DIBERIKAN ATAS 3 GOLONGAN GOLONGAN A GAJI POKOK Rp. 2.700.000,GOLONGAN B GAJI POKOK Rp. 3.000.000,GOLONGAN C GAJI POKOK Rp. 3.400.000,3. TUNJANGAN TERDIRI DARI 2 JENIS YAITU ; TUNJANGAN ISTRI 15% DARI GAJI POKOK TUNJANGAN ANAK 10% DARI GAJI POKOK PER ORANG HINGGA ANAK KETIGA ARTINYA ANAK KE 4 DST TIDAK AKAN MENDAPAT TUNJANGAN ANAK. 4. PAJAK HANYA DIBERIKAN KEPADA PARA KARYAWAN YANG TELAH MENIKAH. UNTUK PEGAWAI YANG GAJI POKOKNYA KURANG DARI SAMA DENGAN RP. 2.700.000,- DIBEBASKAN DARI PAJAK. UNTUK PEGAWAI YANG GAJI POKOKNYA DIATAS RP. 2.700.000,KELEBIHANNYA DIKENAI PAJAK SEBESAR 15% DARI GAJI POKOK. 5. SEBAGAI INPUT : GOLONGAN STATUS (N=NIKAH / B=BELUM) JUMLAH ANAK 6. SEBAGAI OUTPUT : GAJI POKOK TUNJANGAN ISTRI TUNJANGAN ANAK PAJAK GAJI BERSIH