Rabu, 02 November 2011

PERULANGAN

7.1. Tujuan Pembahasan Materi
  1. Mahasiswa dapat mengerti dan memahami kegunaan looping.
  2. Mahasiswa dapat mengerti dan memahami bentuk dasar looping.
  3. Mahasiswa dapat mengerti dan memahami kapan suatu pernyataan looping sebaiknya digunakan.
  4. Mahasiswa mampu menggunakan dan membedakan kegunaan masing-masing pernyataan looping.
7.2. Pokok Pembahasan
            Mengulang suatu proses merupakan suatu tindakan yang sering dijumpai dlam sebuah pemrograman. Dalam bahasa pemrograman, pengulangan proses ditangani dengan suatu mekanisme yang disebut loop. Dengan mengunakan loop, suatu proses yang berulang misalnya menampilkan tulisan yang sama seratus kali pada layar dapat diimplementasikan dengan kode pemrograman yang pendek.
Dalam bahasa C dikenal beberapa operator proses perulangan atau looping, diantaranya for, while dan do-while.pernyataan for merupakan pernyataan yang memiliki beberapa ungkapan dimana ungkapan-ungkapan tersebut memiliki fungsi masing-masing dalam tugasnya. Penyataan while merupakan suatu pernyataan yang mana pengecekan terhadap suatu perulangan dilakukan dibagaian awal(seb lum tubuh loop). Sedangkan pernyataan do-while adalah penyataan perulangan dimana tbuh loop berupa pernyataan, dengan pernyataan bisa berupa pernyataan tunggal, pernyataan majemuk ataupun suatu pernyataan kosong.
7.3. Dasar Teori
            Dalam melakukan proses pengulangan terdapat beberapa pernyataan yang bisa digunakan. Diantaranya dengan pernyataan for, pernyataan while, pernyataan do-while, pernyataan break, pernyataan continue dan pernyataan go to.
7.3.1. Pernyataan for
Sintaks :
for ( inisialisasi; terminasi; iterasi ) statement;
· Inisialisasi adalah pemberian nilai awal variable untuk perulangan.
· Terminasi adalah pemberian nilai akhir atau batas perulangan
· Iterasi adalah perubahan variable kontrol (counter).
ketiga ungkdan kurung kurawal tutup (}).apan dalam for tersebut harus dipisahkan dengan tanda (;). Dalam hal inipernyataan bisa berupa pernyataan tunggal maupun jamak. Jika pernyataan berbentuk jamak, maka pernyataan-pernyataan tersebut harus diletakkan diantara kurung kurawal buka ({)
contoh :
#include
main()
{
int i,
clrscr();
for(i=0;i<5;i++)
/*pengulangan diproses sebanyak 0 sampai 4, kenapa bisa begitu...? */
{
printf(“%d\n”,i);
}
}
output:
0
1
2
3
4


7.3.2. Pernyataan While
Sintaks :
while (kondisi ) statement;
Statement dapat berupa statement kosong, statement tunggal maupun blok statement. Proses perulangan akan terus dilaksanakan jika kondisi dalam while masih bernilai benar, dan akan dihentikan ketika pernyataan bernilai salah.
Contoh :
#include
main()
{
int i=0;
while(i<5)
{
printf(“%d\n”,i);
/*hasil output contoh ini sama dengan contoh pada for( )*/
i++;
}
}
7.3.3 Peryataan do…while
            pada pernyataan ini, tubuh loop berupa pernyataan, dengan pernyataan bisa berupa pernyataan tunggal, pernyataan majemuk maupun pernyataan kosong. Pada pernyataan do, mula-mula pernyataan dijalankan. Selanjutnya, kondisi diuji. Seandainya kondisi bernilai benar, maka pernyataan dijalankan lagi, kemudian kkondisi diperiksa kembali dan seterusnya. Kalau kondisi ternyata bernilai salah pada saat dites, maka pernyataan tidak akan dijalankan lagi.
Sintaks :
do
statement
while ( kondisi )
Sedikitnya statement akan diproses sebanyak 1 kali karena seleksi kondisi dilaksanakan diakhir statement.
Contoh:
#include
main()
{
int i=0;
do
{
printf(“%d\n”,i);
i++;
}
while (i < 5);
}
7.3.4. Pernyataan Continue
pernyataan continuedigunakan untuk mengarahkan eksekusi ke iterasi (proses) berikutnya pada loop yang sama. Pada do-while dan while, pernyataan continue menyebabkan proses perulangan kembali ke awal perulangan dengan mengabaikan statement setelah statement continue
program ini digunakan untuk memasukkan data harus diulangi dan hal ini dikendalikan dengan continue. Untuk mengakhiri pemasukan data, data yang dimasukkan harus bernilai kurang dari 0, perlu diketahui kondisi bernilai 1. Menyatakan bahwa kondisi selalu dianggap bernilai benar. Untuk keluar dari loopa, harus menggunakan pernyataan yang berupa break.
contoh :
//Program dengan for & continue
#include
int main(){
int X;
for (X=0; X<10; X++){
if (X==5) continue;
printf(“%d ”, X);
}
return 0;}
Output : 0 1 2 3 4 6 7 8 9
7.3.5. Pernyataan go to
Pernyataan go to merupakan instruksi untuk mengarahkan eksekusi ke pernyataan yang diawali dengan suatu label atau dengan kata lain pernyataan go to digunakan untuk melompat dari satu proses ke proses tertentu didalam program. Dalam labelnya harus diberikan suatu tanda pengenal (identifier) yang diikuti dengan tanda titik dua (:)
Sintaks :
goto label;
Proses lain yang ditunjuk sebagai lompatan akan ditulis label.
Contoh :
If (++pencacah <= 10)
     go to cetak ;
mempunyai makna :
·         Naikkan nilai pencacah sebesar 1
·         Kemudian, jika pencacah kurang dari atau sama dengan 10 maka eksekusi menuju ke label cetak.
7.4. Percobaan Praktikum
7.4.1. Contoh Penggunaan Looping(Program Menampilkan Nilai Hitung) :
Out Putnya :


7.4.2. Contoh Penggunaan Looping(Program Menampilkan baris dan Kolom) :
Out Putnya :



7.4.3. Contoh Penggunaan Looping(Program Menampilkan baris dan Kolom2) :
Out Put :



PENGAMBILAN KEPUTUSAN DENGAN SWITCH-CASE



6.1. Tujuan Pembahasan Materi
1.      Mengenal dan mengerti struktur control switch dalam bahasa C.
2.      Dapat menggunakan struktur control switch dalam program.
6.2. Pokok Pembahasan
            Pada bab sebelumnya telah dibahas tentang operator-operator pernyataan yang digunakan untuk menentukan suatu kondisi darri suatu pernyataan-pernyataan, apakah pernyataan tersebut memiliki nilai yang benar atau memiliki nilai yang salah. Dalam bab ini akan dijelaskan kelanjutan tentang operator-operator tersebut, yakni dengan switch-case. Pernyataan switch-case merupakan suatu pernyataan yang sengaja dirancang khusus untuk menangani pengambilan keputusan yang melibatkan sejumlah alternative, misalnya untuk menggantikan pernyataan if bertingkat.
6.3. Dasar Teori
            Pernyataan switch-case merupakan suatu pernyataan yang sengaja dirancang khusus untuk menangani pengambilan keputusan yang melibatkan sejumlah alternative, misalnya untuk menggantikan pernyataan if bertingkat.
6.3.1. Pernyataan Switch
Pernyataan swich adalah pernyataan yang digunakan untuk menjalankan salah satu pernyataan dari beberapa kemungkinan pernyataan, berdasarkan nilai dari sebuah ungkapan dan nilai penyeleksian. Pernyataan ifelse if jamak dapat dibangun dengan pernyataan switch.
Bentuk Umumnya :
switch (ekspresi)
{
case konstanta1 :
pernyataan1 ;
break ;
case konstanta2 :
pernyataan2 ;
break ;
case konstanta3 :
pernyataan3 ;
break ;
:
:
case konstantaN :
pernyataanN ;
break ;
default :
pernyataan lain;
}
Hal – hal yang perlu diperhatikan adalah :
1.    Dibelakang keyword case harus diikuti oleh sebuah konstanta, tidak boleh diikuti oleh ekspresi ataupun variable.
2.    Konstanta yang digunakan bertipe int atau char
3.    Jika bentuknya seperti diatas maka apabila ekspresi sesuai dengan konstanta2 maka pernyataan2, pernyataan3 sampai dengan pernyataanlain dieksekusi. Untuk mencegah hal tersebut, gunakan keyword break;. Jika keyword break digunakan maka setelah pernyataan2 dieksekusi program langsung keluar dari pernyataan switch. Selain digunakan dalam switch, keyword break banyak digunakan untuk keluar dari pernyataan yang berulang ( looping ).
4.    pernyataanlain dieksekusi jika konstanta1 sampai konstantaN tidak ada yang
memenuhi ekspresi.
Contoh :
//Program dengan switch Case
#include
int main(){
int Pilih;
printf("----MENU BUAH----\n");
printf("\n1. APEL");
printf("\n2. MANGGA");
printf("\n3. JERUK");
printf("\n4. KELUAR");
printf("\n\nPilihan Anda [1-4] : ");
scanf("%d",&Pilih);
switch(Pilih){
case 1 : printf("\n\nANDA PILIH APEL"); break;
case 2 : printf("\n\nANDA PILIH MANGGA"); break;
case 3 : printf("\n\nANDA PILIH JERUK"); break;
case 4 : exit(0);
default : printf("\n\nANDA SALAH INPUT...");
}
return 0; }

6.4. Percobaan Praktikum
6.4.1. Contoh Penggunaan Switch-Case (Program Pemilihan Suatu Proses) :

Out putnya  :


6.4.2. Contoh Penggunaan Switch-Case (Program Mencari Rtotal dirangkai Paralel):

Out Putnya :



PENGAMBILAN KEPUTUSAN DENGAN IF-ELSE



5.1. Tujuan Pembahasan Materi
1.      Mengenal dan memahami operator dan control bahasa C.
2.       Mengerti dan memahami struktur kontrol if-else.
3.      Dapat menggunakan struktur control if-else dalam pemrograman.
5.2. Pokok Pembahasan
            Banyak cara yang diperlukan untuk membuat keputusan, seperti cara untuk mengatur agar computer bisa melakukan suatu pengambilan keputusan, salah satu contoh yakni  agar computer bisa mennyimpulkan bahwa suatu bilangan merupakan bilangan genap atau bilangan ganjil, oleh sebab itu, untuk menyikapi keperluan seperti itu maka terdapat beberapa jenis pernyataan yang terdapat pada program bahasa C diantaranya dengan pernyataan if-else.
            Pernyataan dengan if dapat berupa sebuah pernyataan tunggal, pernyataan majemuk ataupun pernyataan kosong. Selain itu juga terdapat perpanjangan dari pernyataan if tersebut, yakni biasa disebut dengan pernyataan if bertingakat, diantara pernyataan-pernyataan tersebut diantaranya adalah pernyataan  if-else, if dalam if dan else-if. Pernyataan if-else biasanya digunakan untuk menyeleksi nilai suatu bilangan pembagi, sedangkan if dalam if digunakan untuk menyeleksi beberapa pernyataan sampai ditemukannya suatu pernyataan yang dianggap bernilai benar. Dan pernyataan else-if adalah merupakan suatu jenis operasi yang dikenakan bergantung pada jenis operator yang dimasukkan oleh pengguna program.
            Sedangkan operator yang digunakan untuk menghasilkan kondisi benar atau salah, bisa menggunakan operator relasi atau juga berupa operator logika.
            Operator relasi merupakan operator yang biasa dipakai untuk membandingkan dua buah nilai. Hasil pembanding bisa berupa keadaan benar atau  juga keadaan salah. Sedangkan operator logika merupakan operator yang biasa digunakan untuk menghubungkan ungkapan relasi.
5.3. Dasar Teori
            Suatu Struktur dasar algoritma yang memiliki satu atau lebih kondisi tertentu dimana sebuah instruksi dilaksanakan jika sebuah kondisi/persyaratan terpenuhi. Ada beberapa bentuk operator dan struktur dasar pemilihan ini :
5.3.1 Operator relasi
            Operator relasi biasa digunakan untuk membandingkan dua buah nilai. Hasil pembandingan berupa keadaan benar atau salah. Adapun operator relasi dalam bahasa C, sebagai berikut :
                          Table 5.1. Tanda Operator Relasi
> 
lebih dari
> =
lebih dari atau sama dengan
< 
kurang dari
< =
kurang dari atau sama dengan
= =
sama dengan
! =
tidak sama dengan

5.3.2. operator kondisi
            Operator logika biasa digunakan untuk menghubungkan ungkapan relasi. Adapun operator logika dalam bahasa C adalah sebagai berikut :
                                    Table 5.2. Operator Logika
Operator
makna
&&
and (AND)
||
atau (OR)
!
tidak (NOT)

            Dalam operator ini juga terdapat operand operand, diantaranya operand1, operand 2 dan operand3.
            Operand1 dan operand2 dapat berupa ekspresi relasi ataupun ekspresi logika. Hasil ekspresi bisa bernilai salah atau benar. Pada bahasa C nilai hasil dari sebuah ekspresi relasi maupun ekspresi logika jika dinyatakan dengan angka adalah :
·         Salah               nilai  = 0
·         Benar               nilai ! = 0 ( misalnya nilai = 1)
Table dibawah ini akan memberikan penjelasan hasil operasi ekspresi logika yang mnggunakan operator && maupun | | untuk berbagai kemungkinan keadaan operand-nya
Tabel 5.3.  Table Logika.
Operand1
Operand2
Hasil
| |
&&
Salah
salah
0
0
Salah
benar
1
0
Benar
salah
1
0
Benar
benar
1
1

Tampak bahwa operator atau ( | | ) menghasilkan nilai 1 jika ada operand yang benar. Hasil berupa 0 jika semua operand bernilai salah. Adapun operator logika dan (&&) memberikan hasil 1 hanya jika kedua operand adalah benar.
Sedangkan bentuk pemakaian operator logika ! adalah :
                        !operand
Dengan operand  dapat berupa ekspresi logika maupun ekspresi relasi.
Hasil operasi ! bernilai :
·         1 jika operand bernilai salah
·         0 jika operand bernilai benar
Perhatikan contoh potongan program dibawah ini :
            If (!sudah_benar!)
     Printf(“masukan anda salah!\n”)

Pada contoh potongan program diatas, dilakukan pengecekan ondisi terhadap nilai-nilai dari variable sudah_benar bernilai 0, maka kondisi !sudah_benar akan bernilai benar (true) sehngga instruksi : “Printf(“masukan anda salah!\n”) ;”
Akan diproses.
5.3.3. prioritas operator logika dan relasi
            Table berikut ini akan memberikan penjelasan singkat tentang prioritas diantara berbagai operator logika dan operator relasi.
                            Table 5.4. Prioritas Operator logika
Tertinggi :
!

 >, > =, <, < =

= =, !=

&&
Terendah
| |
Berdasarkan priorits diatas, maka ekspresi seperti :
            ( kar > ‘A’) && ( kar < ‘Z’)
Sama saja kalau ditulis menjadi
            Kar > ‘A’ && kar < ‘Z’
Hanya saja penulisan dengan menggunakan tanda kueung akan lebih memberikan kejelasan.
5.3.4. Statement If
            Sebuah pernyataan yang dapat dipakai muntuk mengambil keputusan berdasarkan suatu kondisi. Bentuk pernyataan ini ada beberapa macam, diantaranya :
a.    Bentuk If tunggal sederhana
Sintaks :
if ( kondisi ) statement ;
Bentuk ini menunjukkan jika kondisi bernilai benar, maka statement yang mngikutinya akan di-eksekusi. Jika tidak maka statement selanjutnya yang akan diproses.
b.    Bentuk If tunggal blok statement
Sintaks :
if ( kondisi ) {
blok statement;
}
Perbedaan dengan bentuk sebelumnya statement yang akan dilaksanakan ada dalam satu blok kurung kurawal.
Contoh program :                                                   



5.3.5. Statement If...Else
a. Bentuk If..Else
sintaks :
if ( kondisi )
statement1;
else
statement2;
Statement setelah kondisi atau statement sesudah else dapat berupa statment kosong, statement tunggal maupun blok statement. statement1 akandijalankan jika kondisi benar, jika salah maka statement2 yang akan diproses.
contoh :
//Program menentukan ganjil atau genap
#include
int main(){
int Bilangan;
char Lagi;
printf("Mencari Bilangan Ganjil atau Genap\n\n");
printf("Input Bilangan : ");
scanf("%d", &Bilangan);
if(Bilangan %2 == 1)
printf("\n\nIni Bilangan Ganjil");
else
printf("\n\nIni Bilangan Genap");
return 0; }
Output : Mencari Bilangan Ganjil atau Genap
Input Bilangan : 15
Ini Bilangan Ganjil
b. Bentuk If..else if…else
Sintaks :
if ( kondisi 1)
statement1;
else if ( kondisi 2 )
statement2;
else if ( kondisi 3)
statement3;
.
else
statement default;
Proses akan mulai dari penyeleksian kondisi 1, jika benar maka statement yang mengikutinya akan dieksekusi, jika salah maka akan masuk proses seleksi kondisi 2, begitu seterusnya. Jika semua kondisi tidak ada yang terpenuhi, maka program akan menjalankan statement default.
contoh :
//Program Mencari Mutu Nilai
#include
int main(){
int Nilai; char Mutu;
printf("Mencari Mutu Nilai\n\n");
printf("Input Nilai Mahasiswa : ");scanf("%d", &Nilai);
if (Nilai<50) Mutu = 'E';
else if(Nilai<65) Mutu = 'D';
else if(Nilai<75) Mutu ='C';
else if (Nilai<85) Mutu ='B';
else Mutu = 'A';
printf("\n\nNilai Mahasiswa yang diinput = %d", Nilai);
printf("\nMutu Nilai = %c", Mutu);
return 0; }
Output : Mencari Mutu Nilai
Input Nilai Mahasiswa : 78
Nilai Mahasiswa yang diinput = 78
Mutu Nilai = B
c. Bentuk If bersarang ( nested if )
Sintaks :
if ( kondisi 1)
if ( kondisi 2)
.
.
if (kondisi n )
statement;
else
statement;
.
.
else
statement
else statement;
Kondisi yang akan diseleksi pertama kali adalah kondisi yang paling luar (kondisi1). Jika bernilai tidak benar maka statement setelah else yang terluar ( pasangn dari if yang bersangkutan ) yang akan diproses.
d. Bentuk If dengan kondisi berupa variable
Contoh :
if ( D == 0 )
printf (“Nilai D sama dengan Nol \n”);
else
printf (“Nilai D tidak sama dengan Nol \n”);
e. Bentuk If dengan kondisi Jamak
Beberapa kondisi dapat diseleksi sekaligus dalam statement if dengan menggunakan operator logika AND ( && ), OR ( || ),atau NOT ( ! )

5.4. Percobaan Praktikum
5.4.1. Contoh Penggunaan If-Else (Program Mencari nilai terbesar dan terkecil) :
Out Putnya :