KEGIATAN BELAJAR IV :
Lembar Informasi 4:
== Sama dengan
Pada nomor 1 menunjukkan ekpresi relasional dan di bawah ini diberikan contoh yang
lainnya :
a. a+b <= 75
b. p >= q+20
c. Z != 2*x-20
Contoh :
a. x+5 < 10
b. y > x+3
c. z-2 > 3
x+5<10 benar
y>x+3 benar
z-2>3 benar
x+5<10 benar
y>x+3 salah
z-2>3 benar
Pernyataan if() digunakan untuk membagi dua alur suatu proses sesuai dengan
persyaratan yang diberikan.
Bentuk penulisan :
satu perintah
if(syarat)
----perintah;
sekumpulan perintah
if(syarat)
{
----perintah;
----perintah;
----perintah;
}
Penyelesaian :
/* Menghitung potongan */
if(jml_belanja>=100000)
potongan=0.1*jml_belanja;
/*Contoh 4.2*/
/* if dengan sekumpulan perintah */
main()
{
int usia;
clrscr();
Bentuk penulisan :
Satu perintah
if(syarat)
----perintah;
else
----perintah;
Sekumpulan perintah
if(syarat)
----perintah;
----perintah;
}
else
{
----perintah;
----perintah;
}
Contoh program :
Satu perintah
Sekelompok perintah
Misalkan untuk menentukan harga dua buah rumah dengan jenis yang berbeda dan
harga tanah yang berbeda pula.
Rumah tipe A, harga tanah Rp. 40000, bangunan Rp. 150000,-
Rumah tipe B, harga tanah Rp. 50000, bangunan Rp. 200000,-
Input program :
- luas tanah
- luas bangunan
- tipe
Output program :
- harga tanah
- harga bangunan
- harga total
harga_sat_tnh = 40000;
harga_sat_bng = 150000;
}
else
{
harga_sat_tnh = 50000;
harga_sat_bng = 200000;
4.1.5. Nested if
Digunakan untuk masalah-masalah yang memiliki lebih dari dua cabang. Diagram alir
ditunjukkan pada gambar 4.3.
Bentuk penulisan :
Satu perintah
if(syarat)
if(syarat)
----perintah;
else
----perintah;
else
if(syarat)
----perintah;
else
----perintah;
Sekumpulan perintah
if(syarat)
{
----perintah;
----perintah;
if(syarat)
{
----perintah;
----perintah;
}
else
{
----perintah;
----perintah;
}
}
else
{
----perintah;
----perintah;
if(syarat)
{
----perintah;
----perintah;
}
else
{
----perintah;
----perintah;
}
}
Catatan :
1. Tanpa penggunaan kurung kurawal {}, else akan selalu dipasang dengan if
sebelumnya yang terdekat.
2. Bagian-bagian struktur if else dapat dipertegas dengan menggunakan tanda kurung
kurawal {}.
PT. Indonesia Raya sebagai perusahaan distribusi berbagai produk rumah tangga,
memberikan intensif kepada para salesmen-nya dengan ketentuan sebagai berikut :
1. Salesmen dengan penjualan hingga Rp. 300000,- mendapat uang jasa Rp.
30000,- dan intensif sebesar 5% dari pendapatan.
2. Salesmen dengan penjualan diatas Rp. 300000,- hingga Rp. 500000,- mendapat
uang jasa Rp. 50000,- dan intensif sebesar 10% dari pendapatan.
3. Salesmen dengan penjualan diatas Rp. 500000,- mendapat uang jasa Rp.
60000,- dan intensif sebesar 15% dari pendapatannya.
main()
{
/* Deklarasi & inisialisasi variabel */
float p_dapatan, jasa, insentif=0, jml_pend;
clrscr();
/* Input pendapatan */
printf(“\n Pendapatan Salesmen hari ini : Rp. “);
scanf(“%f”, &p_dapatan);
else
{
if(p_dapatan<=500000)
{
jasa = 50000;
insentif = (10/100)*p_dapatan;
}
else
{
jasa = 60000;
insentif = (15/100)*p_dapatan;
}
}
/* Menghitung jumlah */
jml_pend = jasa + insentif;
main()
{
int umur;
clrscr();
printf(“\n Berapakah umur Saudara ? : “);
scanf(“%d”, &umur);
if(umur<50)
if(umur>21)
printf(“\n Saudara sudah dewasa”);
else
printf(“\n Saudara masih muda”);
else
printf(“\n Saudara sudah tua !!!!”);
}
Bentuk dan kegunaan pernyataan else if mirip nested if, tetapi keuntungan penulisan
jadi lebih sederhana. Flowchart ditunjukkan pada gambar 4.4
Bentuk penulisan :
if(syarat)
{
----perintah;
----perintah;
}
else if(syarat)
{
----perintah;
----perintah;
}
else if(syarat)
{
----perintah;
----perintah;
}
else
{
----perintah;
----perintah;
}
Buatlah program konversi nilai ANGKA menjadi nilai HURUF dengan ketentuan
sebagai berikut :
<50 E
50-59 D
60-69 C
70-84 B
85-100 A
3. Variabel :
Sifat pernyataan switch dan break mirip dengan else if, tetapi penggunaannya terbatas;
yaitu hanya pada pemeriksaan data jenis karakter atau integer.
Bentuk penulisan :
if(nilai>=60)
status = “LULUS”;
else
status = “GAGAL”;
Disederhanakan menjadi :
status=nilai>=60 ? “lulus” : “gagal”;
Bentuk penulisan :
Catatan :
ekspresi logika atau relasi adalah ekspresi yang akan memeriksa apakah kondisi
yang ada benar atau salah
ekspresi1 dijalankan bila ekspresi logika atau relasi benar dan bila salah yang
dijalankan ekspresi2
main()
{
int bulan, tahun, hari;
clrscr();
/* Deklarasi var */
int bulan, tahun, hari;
clrscr();
/* Input bulan dan tahun */
printf(“\n Masukan bulan dan tahun (xx-xxxx)”);
scanf(“%d-%d”, &bulan, &tahun);
/* Pilihan dengan if else dan else if */
if(bulan<=12)
{
if(bulan<=7)
hari = bulan %2 == 0 ? 30 : 31;
else
hari = bulan %2 == 0 ? 30 : 31;
}
else
printf(“\n\n Anda salah !! \n\n”);
if(bulan==2)
hari = tahun %4 == 0 ? 29 : 28;
printf(“\n\n Bulan %2d tahun %4d memiliki %d hari”,
bulan,
tahun, hari);
}
4.2. Loop
Loop adalah proses pengulangan yang dapat dilakukan dalam sebuah program. Proses
pengulangan dapat diimplementasikan dengan perintah for, nested for, while dan do-
while.
Keterangan :
1. Inisialisasi digunakan untuk memberikan nilai awal, dapat satu atau beberapa
variabel
Proses increment dari pencacah dapat dimodifikasi dengan menuliskan program sebagai
berikut :
Argumen yang digunakan dalam for tidak perlu selalu lengkap, misalnya tanpa
inisialisasi, syarat pengulangan atau pengubah nilai pencacah. Contoh-contoh
penulisannya sebagai berikut :
for(inisialisasi;syarat pengulangan;)
for(;syarat pengulangan;)
Catatan :
Walaupun penulisan argumen boleh tidak lengkap, tetapi tanda titik koma (;) tidak
boleh dihilangkan.
Pengulangan tak berhingga dapat diimplementasikan dengan perintah for yang tidak
dilengkapi dengan argumen.
Di bawah ini diberikan contoh program pengulangan tak berhingga dan untuk keluar
dapat digunakan perintah break.
Nested for adalah pernyataan for yang bertingkat atau pernyataan for di dalam for.
Bentuk pengulangan while mirip dengan pengulangan for tetapi mempunyai bentuk
yang lebih sederhana. Pengulangan dikontrol oleh syarat tertentu, dimana pengulangan
akan terus berlangsung selama syarat tersebut dipenuhi (benar) dan akan dihentikan
bila syarat tidak dipenuhi (salah). Syarat pengulangan dapat berupa ekspresi relasional
atau ekspresi logika.
Bentuk penulisan :
Satu perintah
while(syarat)
perintah atau pernyataan;
Sekelompok perintah
while(syarat)
{
perintah atau pernyataan;
perintah atau pernyataan;
perintah atau pernyataan;
}
Penjelasan :
Pada baris while yang pertama dijalankan exit = getche, berarti variabel exit
akan diisi dengan sebuah karakter, kemudian karakter tersebut akan
dibandingkan dengan e. Selain karakter e akan menghasilkan nilai benar
sehingga program akan diulang, sebaliknya bila diisi e, maka program akan
bernilai salah dan program dihentikan.
Bentuk penulisan :
do
{
perintah atau pernyataan;
perintah atau pernyataan;
perintah atau pernyataan;
}
while(syarat);
Pernyataan break digunakan untuk menghentikan program loop dan continue digunakan
untuk mengembalikan proses yang sedang dilaksanakan ke awal loop lagi, tanpa
melaksanakan sisa perintah dalam loop tersebut.
Lembar Latihan 4 :
d). Bila pembagi tidak sama dengan 0, maka proses pembagian di-laksanakan dan
hasilnya ditampilkan.
Simpan dalam file LAT431.C
OPERASI ARITMATIK
1). Penjumlahan
2). Pengurangan
3). Perkalian
4). Pembagian
5). Keluar
c). Proses baru bisa dimulai bila telah dimasukan angka tertentu (1 s/d 5)
RANGKAIAN LISTRIK