Dasar Pemrograman-8 ( Statemen Terstruktur)
-
Upload
julen-k-simatupang -
Category
Documents
-
view
215 -
download
0
Transcript of Dasar Pemrograman-8 ( Statemen Terstruktur)
-
8/19/2019 Dasar Pemrograman-8 ( Statemen Terstruktur)
1/14
Statemen Terstruktur 44
STATEMEN TERSTRUKTUR
1 Pendahuluan
- Statemen dapat dikatakan sebagai satuan terkecil suatu program.- Statemen dapat digolongkan menjadi dua kelompok, yaitu :
1. Statemen Sederhana
2. Statemen Terstruktur
- Statemen sederhana adalah Statemen yang tidak berisi statemen yang
lain, dan hanya terdiri dari satu baris statemen, terdiri dari statemen
penugasan (assignment statement ) dan statemen fungsi:
1.1 Statemen Penugasan - Statemen penugasan digunakan untuk mengubah nilai suatu
peubah dengan nilai baru atau untuk menentukan suatu ungkapan
yang nilainya bisa diperoleh dari fungsi yang digunakan.
- Contoh statemen penugasan:
D = B*B – 4*A*C;
Sinus = sin(x/y);
1.2 Statemen Fungsi
- Statemen fungsi adalah statemen yang digunakan untuk
memanggil suatu fungsi.
- Jika fungsi yang dipanggil berisi sederetan parameter formal, maka
dalam statemen fungsi juga harus berisi parameter aktual yang
sesuai.
- Parameter dalam deklarasi fungsi disebut parameter formal, dan
dalam statemen fungsi atau pemanggil fungsi disebut dengan
parameter aktual).- Contoh statemen fungsi:
Invers_matriks(Matriks_A, Matriks_B);
Baca_data;
2. Statemen Terstruktur
Statemen terstruktur adalah statemen yang tersusun dari sejumlahstatemen lain yang akan dieksekusi:
1. Secara berurutan (statemen majemuk dan statemen with),
2. Secara terkendali (statemen kendali) atau
3. Secara berulang (statemen perulangan).
-
8/19/2019 Dasar Pemrograman-8 ( Statemen Terstruktur)
2/14
Statemen Terstruktur 45
2.1 Statemen Majemuk
- Statemen majemuk (compound statement ) adalah statemen yang
terdiri dari sejumlah statemen yang akan dieksekusi dengan urutan
yang sama dengan urutan cara penulisan statement-statementersebut.
- Komponen statemen ini diperlakukan sebagai satu statemen.
- Statemen majemuk ditandai dengan tanda kurung kuraval buka ({)
dan diakhiri dengan tanda kurung kuraval tutup (}).
- Contoh statemen majemuk:
{
a = a + 1; b = a * c;
d = b – a;
};
2.2 Statemen Kendali
- Statemen kendali digunakan untuk mengambil suatu keputusan
atau memilih bagian program yang akan dikerjakan sesuai dengan
kondisi atau syarat yang diberikan.
- Bahasa C menyediakan beberapa statemen kendali, seperti:
o Statemen if
o Statemen if-else, dan
o Statemen switch
- Statemen-statemen di atas memerlukan suatu kondisi atau syarat
sebagai dasar pengambilan keputusan.
- Salah satu kondisi yang umum digunakan adalah berupa keadaan
benar atau salah (true or false).- Bahasa C menyediakan beberapa jenis operator untuk mendukung
pembentukan kondisi benar atau salah.
3. Operator Relasi.
- Operator relasi (hubungan) biasa digunakan untuk membandingkan
dua buah nilai. Hasil pembadingan berupa keadaan benar atau
salah.- Operator relasi yang dapat digunakan dalam pemrograman
disajikan pada tabel 4.1 berikut.
-
8/19/2019 Dasar Pemrograman-8 ( Statemen Terstruktur)
3/14
Statemen Terstruktur 46
Tabel 4.1 Operator Relasi.
Operator Makna
>
>=<
2
30 > 15
a = = 2
I < (maks-1)
Salah
Benar
Benar, jika a bernilai 2Salah, jika a tidak bernilai 2
Benar, bila I kurang dari maks-1
Salah, jika I lebih besar dari atau
sama dengan maks-1
- Pada data karakter, dasar pembandingan adalah nilai ASCII dari
karakter yang dibandingkan. Misalnya nilai ASCII ‘A’ adalah 65 dan
nilai ASCII ‘B’ adalah 66, maka ‘A’ lebih kecil dari ‘B’.
4. Operator Logika
Operator logika biasa digunakan untuk menghubungkan ungkapan
relasi. Operator logika yang terdapat dalam C diperlihatkan pada Tabel
4.3.
Tabel 4.3 Operator Logika.
Operator Maksud&&
||
!
Dan (AND)
Atau (OR)
Negasi (NOT)
Bentuk penggunaan operator pada tabel 4.3 di atas adalah:
-
8/19/2019 Dasar Pemrograman-8 ( Statemen Terstruktur)
4/14
Statemen Terstruktur 47
Operand1 operator operand2
- Baik operand1 maupun operand2 dapat berupa ungkapan relasi
maupun ungkapan logika.
- Hasil ungkapan mempunyai nilai benar atau salah.- Tabel 4.4 memberikan contoh hasil operasi ungkapan logika yang
mdnggunakan operator && dan || untuk berbagai kemungkinan
keadaan operand.
Tabel 4.4 Kemungkinan operasi logika && dan ||.
HasilOperand1 Operand2
|| &&Salah
Salah
Benar
Benar
Salah
Benar
Salah
benar
Salah
Benar
Benar
Benar
Salah
Salah
Salah
Benar
- Operator logika “atau” (||) akan menghasilkan nilai benar jika ada
operand yang bernilai benar, dan akan menghasilkan nilai salah
jika semua operand bernilai salah.- Operator “dan” (&&) akan memberikan hasil benar hanya jika
kedua operand bernilai benar.
- Bentuk pemakaian operator logika !:
! operand
- dengan operand dapat berupa ungkapan logika ataupun relasi.
Hasil operasi ! akan bernilai:
o benar, jika operand bernilai salah
o salah, jika operand bernilai benar.
4.1 Prioritas Operator Logika dan Relasi
- Seperti halnya operator yang lain, operator logika dan operator
relai juga mempunyai hirarki tertentu, seprti yang diperlihatkan
pada Tabel 4.5.
Tabel 4.5 Hirarki operator logika dan relasi.
Tertinggi
Terendah
!
> >= <
-
8/19/2019 Dasar Pemrograman-8 ( Statemen Terstruktur)
5/14
Statemen Terstruktur 48
- Berdasarkan hirarki yang ditunjukkan pada Tabel 4.5, maka
ungkapan :
(kar > ‘A’) && (kar < ‘Z)
- Dapat ditulis menjadi:
Kar > ‘A’ && kar < ‘Z’
Latihan :
Tentukan hasil ungkapan berikut benar atau salah:1. 2 > 1 || 3 1 && 3 1) && (3 1 || 3 != 2) && ((2 > 1) || 2 )
4.2 Nilai Benar dan Salah
- Pada C, nilai hasil dari suatu ungkapan relasi atau logika jika
dinyatakan dengan angka adalah sebagai berikut:
o Salah berupa 0, dan
o Benar berupa 1
5 Statemen if
- Statemen if mempunyai bentuk umum (sintaksis):
if (kondisi) pernyataan
- Arti dari statemen di atas adalah:
o Jika kondisi bernilai benar, maka pernyataan dikerjakan
o Jika kondisi bernilai salah, maka pernyataan tidak dikerjakan
- Kondisi harus ditulis diantara tanda kurung, dapat berupa
sembarang ungkapan (yang dipentingkan adalah nilai benar atau
salah), sedangkan pernyataan adapat berupa sebuah statemen
tunggal (sederhana) maupun statemen majemuk.- Pernyataan kosong berarti tidak mengandung penyataan.
- Nilai kondisi bernilai nol berarti salah, sedangkan selain nol berarti
benar.
-
8/19/2019 Dasar Pemrograman-8 ( Statemen Terstruktur)
6/14
Statemen Terstruktur 49
Kondisi
Pernyataan
salah
benar
Gambar 4.1 Diagram alir Statemen if .
- Contoh pemakaian if misalnya untuk menentukan besarnya
discount yang diterima oleh seorang pembeli, berdasarkan kriteria:
o Tidak ada discount jika total pembelian kurang dari 100.000.
o Bila total pembelian lebih besar dari atau sama dengan
100.000, discount yang akan diterima sebesar 5 % dari total
pembelian.
- Penyelesaian dapat dilakukan dengan membuat asumsi bahwa
default-nya discount = 0 (tidak ada discount ).
- Kemudian jika total pembelian lebih dari atau sama dengan
100.000, maka besarnya discount diubah menjadi 5 % dari total
pembelian.
Discount = 0;
if (total_pembelian >= 100000)
Discount = 0.05 * total_pembelian;
- Dengan penentuan pengambilan keputusan seperti di atas,
seandainya total_pembelian kurang dari 100.000, maka pernyataan
Discount = 0.05 * total_pembelian;
Tidak dijalankan. Dengan demikian discount tetap akan bernilai
nol.
5.1 Statemen if-else
Statemen if-else mempunyai sintaks:
if (kondisi)
pernyataan-1
else
pernyataan-2;
-
8/19/2019 Dasar Pemrograman-8 ( Statemen Terstruktur)
7/14
Statemen Terstruktur 50
Kondisi
Pernyataan-1
salah
benar
Pernyataan-2
Gambar 4.2 Diagram Alir if-else.
- Maksud dari pernyataan if-else adalah:
o Jika kondisi benar, maka pernyataan-1 dijalankan,
o Sedangkan jika kondisi bernilai salah, maka pernyataan-2
yang akan dijalankan.
- Masing- masing pernyataan-1 dan pernyataan-2 dapat berupa
sebuah pernyataan tunggal maupun pernyataan majemuk.
/* ------------------------------------------- */
/* File program : Diskon.c */
/* Contoh pemakaian if-else */
/* Untuk menentukan besarnya diskon */
/* ------------------------------------------- */
#include
main()
{
double total_pembelian, discount;
printf ("Total pembelian : Rp ");
scanf("%lf", &total_pembelian);
if (total_pembelian >= 100000)discount = 0.05 * total_pembelian;
else
discount = 0;
printf("Besarnya diskon : %.2lf\n", discount);
}
Program 4-1
-
8/19/2019 Dasar Pemrograman-8 ( Statemen Terstruktur)
8/14
Statemen Terstruktur 51
- Pada program di atas, pernyataan:
If (total_pembelian >= 100000)
Discount = 0.05 * total_pembelian;Else
Discount = 0;
- digunakan untuk menggantikan pernyataan :
discount = 0;
if (total_pembelian >= 100000)
discount = 0.05 * total_pembelian;
/* --------------------------------------------------------- */
/* File program : Genap.c */
/* Contoh pemakaian if-else */
/* Untuk menentukan bilangan genap atau ganjil */
/* --------------------------------------------------------- */
#include
main()
{
int bilangan;
printf ("Masukkan sebuah bilangan bulat ");
scanf("%d", &bilangan);
if (bilangan % 2)
{
printf("Nilai %d tidak habis dibagi 2\n", bilangan);
puts("Karena itu termasuk bilangan ganjil");}
else
{
printf("Nilai %d habis dibagi 2\n", bilangan);
puts ("karena itu termasuk sebagai bilangan genap");
}
}
Program 4-2
Contoh eksekusi:
C>Genap
Masukkan sebuah bilangan bulat: 6
Nilai 6 habis dibagi 2
Karena itu termasuk sebagai bilangan genap
-
8/19/2019 Dasar Pemrograman-8 ( Statemen Terstruktur)
9/14
Statemen Terstruktur 52
5.2 Pemakaian if Secara Bertingkat
- Dalam bahasa C dimungkinkan untuk menggunakan statemen if (
atau if-else) secara bertingkat , yaitu di dalam suatu statemen if
(atau if-else) terdapat pernyataan if (atau if-else) yang lain.- Bentuk bertingkat seperti di atas disebut sebagai nested if .
/* ------------------------------------------- */
/* File program : hari.c */
/* Contoh pemakaian if-else bertingkat */
/* Untuk menampilkan nama hari */
/* ------------------------------------------- */
#include
main()
{
int kode_hari;
puts("Menentukan hari\n");
puts("1 = SENIN 3 = RABU 5 = JUMAT 7 = MINGGU");
puts("2 = SELASA 4 = KAMIS 6 = SABTU ");
printf("\nMasukkan kode hari (1 .. 7): ");
scanf("%d", &kode_hari);
if (kode_hari == 1)
puts("Hari SENIN");
else
if (kode_hari == 2)
puts("Hari SEELASA");
else
if (kode_hari == 3)
puts("Hari RABU");
elseif (kode_hari == 4)
puts("Hari KAMIS");
else
if (kode_hari == 5)
puts("Hari JUMAT");
else
if (kode_hari == 6)
puts("Hari SABTU");
else
if (kode_hari == 7)
puts("Hari MINGGU");
else
puts("kode yang anda
masukkan salah !");
}
Program 4-3
-
8/19/2019 Dasar Pemrograman-8 ( Statemen Terstruktur)
10/14
Statemen Terstruktur 53
Contoh hasil keluaran program:
C>hari
Menentukan hari
1 = SENIN 3 = RABU 5. = JUMAT 7 = MINGGU
2 = SELASA 4 = KAMIS 6 = SABTU
Masukkan kode hari (1 .. )
Hari Rabu.
6.
Statemen Switch
- Statemen switch merupakan statemen yang dirancang khusus untuk
menangani pengambilan keputusan yang melibatkan sejumlah
alternatif.
- Diantaranya untuk menggantikan pernyataan if bertingkat,
misalnya pada penentuan nama hari, atau pada aplikasi menu
dialog sederhana.
- Bentuk umum statemen switch adalah:
Switch (ekspresi)
{
case konstanta-1:
pernyataan-1
break;
case konstanta-2:
pernyataan-2
break;.
:
case konstanta-x:
pernyataan-n
break;
default:
pernyataan-x;
}
- Ekspresi dapat berupa ungkapan bernilai integer atau bertipe
karakter.
- Setiap konstanta-i (konstanta-1, konstanta-2, …, konstanta-n)
dapat berupa konstanta integer atau karakter.
-
8/19/2019 Dasar Pemrograman-8 ( Statemen Terstruktur)
11/14
Statemen Terstruktur 54
- Pernyataan-I ( pernyataan-1, pernyataan-2, …, pernyataan-n)
dapat berupa satu atau beberapa pernyataan.
- Pengujian pada switch akan dimulai dari konstanta-1.
- Jika nilai konstanta-1 cocok dengan ekspresi, maka pernyataan-1
dijalankan. - Selanjutnya adanya pernyataan break menyebabkan eksekusi
diarahkan ke akhir switch.
- Jika ternyata nilai konstanta-1 tidak sama dengan nilai ekspresi,
pengujian dilakukan untuk konstanta-2, dan berikutnya serupa
dengan pengujian konstant-1.
- Jika sampai pengujian case yang terakhir, ternyata tidak ada
kecocokan, maka pernyataan yang mengikuti kata-kunci default
yang akan dijalankan.- Diagram alir statemen switch diperlihatan pada Gambar 4.4, dan
contoh program pemakaian switch untuk menggantikan
penggunaan if-else bertingkat diperlihatkan pada program 4-4.
ekspresi = =
konstanta-1
Pernyataan
dafault
ya
tidak
Pernyataan-1
break
ekspresi = =
konstanta-2
ya
tidak
Pernyataan-2
break
ekspresi = =
konstanta-n
ya
tidak
Pernyataan-n
break
Gambar 4.4 Diagram Alir Statemen Switch.
-
8/19/2019 Dasar Pemrograman-8 ( Statemen Terstruktur)
12/14
Statemen Terstruktur 55
/* ------------------------------------------- */
/* File program : hari.c */
/* Contoh pemakaian Switch */
/* Untuk menampilkan nama hari *//* ------------------------------------------- */
#include
main()
{
int kode_hari;
puts("Menentukan hari\n");
puts("1 = SENIN 3 = RABU 5 = JUMAT 7 = MINGGU"); puts("2 = SELASA 4 = KAMIS 6 = SABTU ");
printf("\nMasukkan kode hari (1 .. 7): ");
scanf("%d", &kode_hari);
switch (kode_hari)
{
case 1:
puts("Hari SENIN");
break;case 2:
puts("Hari SEELASA");
break;
case 3:
puts("Hari RABU");
break;
case 4:
puts("Hari KAMIS");
break;
case 5: puts("Hari JUMAT");
break;
case 6:
puts("Hari SABTU");
break;
case 7:
puts("Hari MINGGU");
break;
default: puts("kode yang akan masukkan salah !");
}
}
Program 4-4
-
8/19/2019 Dasar Pemrograman-8 ( Statemen Terstruktur)
13/14
Statemen Terstruktur 56
- Terlihat dari program 4-4 di atas, bahwa dengan menggunakan
pernyataan switch, program menjadi lebih jelas dan mudah
dipahami.
- Penyertaan pernyataan break pada program di atas sesudah
penyataan puts( ) dimaksudkan agar setelah menampilkan string,eksekusi dilanjutkan ke akhir switch.
- Pada bagian default tidak perlu ada break , karena jika pernyataan
yang mengikuti default dieksekusi, terakhir kali dengan sendirinya
akan menuju ka akhir switch.
- Jika dalam suatu case tidak terdapat statemen break , maka
seandainya nilai pada case cocok dengan nilai ungkapan switch,
eksekusi akan dilanjutkan ke pernyataan yang terletak pada case
berikutnya (sampai ditemukannya statemen break atau akhir switch).
-
8/19/2019 Dasar Pemrograman-8 ( Statemen Terstruktur)
14/14
Statemen Terstruktur 57
QUIS
1. Buatlah program dengan masukan berupa suatu nilai antara 0
sampai 100 dan program akan memberikan keluaran berupa
klasifikasi A, B, C, D, atau E berdasarkan kriteria berikut:
Nilai Klasifikasi
Nilai > 90
70 < Nilai < 90
60 < Nilai