MODUL PEMROGRAMAN KOMPUTER




        I MADE AGUS OKA GUNAWAN
                      1108605020




                                         1


     ILMU KOMPUTER-UNIVERSITAS UDAYANA
BAB I

                          PENYELEKSIAN KONDISI




1.2. STRUKTUR KONDISI “IF….”

Struktur if dibentuk dari pernyataan if dan sering digunakan untuk menyeleksi
suatu kondisi tunggal. Bila proses yang diseleksi terpenuhi atau bernilai benar,
maka pernyataan yang ada di dalam blok if akan diproses dan dikerjakan. Bentuk
umum struktur kondisi if adalah:

    if(kondisi)

    pernyataan;



Contoh Program 1:

/* Program struktur kondisi if untuk memeriksa suatu kondisi */

#include “stdio.h”

#include “conio.h”

void main()

{

float nilai;

printf(“Masukan nilai yang didapat : “);

scanf(“%f”, &nilai);

if(nilai > 65)

printf(“n ANDA LULUS !!!!n”);

getch();


                                                                              2
}



Bila program tersebut dijalankan dan kita memasukan nilai 80, maka perintah
mencetak perkataan LULUS !!!! akan dilaksanakan, namun sebaliknya bila kita
memasukan sebuah nilai yang kurang dari 65 maka program akan berhenti dan
tidak dihasilkan apa-apa.



Contoh Program 2 :

/* Program contoh penerapan struktur kondisi if */

#include"stdio.h"

#include"conio.h"

void main()

{ clrscr();

int a,b,c,max;

printf("Entry bil 1 : ");scanf("%i",&a);

printf("Entry bil 2 : ");scanf("%i",&b);

printf("Entry bil 3 : ");scanf("%i",&c);

if((a>b)&&(a>c))

max=a;

if((b>a)&&(b>c))

max=b;

if((c>a)&&(c>b))

max=c;

printf("Bil terbesar : %in",max);

        if(max>0)

printf("Bil tsb adalah bil positifn");

        if(max<0)
                                                                              3
printf("Bil tsb adalah bil negatif");

getch();

}



1.3. STRUKTUR KONDISI “IF......ELSE….”

Dalam struktur kondisi if.....else minimal terdapat dua pernyataan. Jika kondisi
yang diperiksa bernilai benar atau terpenuhi maka pernyataan pertama yang
dilaksanakan dan jika kondisi yang diperiksa bernilai salah maka pernyataan yang
kedua yang dilaksanakan. Bentuk umumnya adalah sebagai berikut:

    if(kondisi)

    pernyataan-1

    else

    pernyataan-2




Contoh Program 3:

#include “stdio.h”

#include “conio.h”

void main()

{

float nilai;

clrscr();

printf(“Masukan nilai yang didapat : “);

scanf(“%f”, &nilai); /* Masukan akan disimpan dalam variable nilai */

if (nilai > 65)

printf(“n LULUS !!!n”);

else
                                                                              4
printf(“n TIDAK LULUS !!!n”);

getch();

}



Bila program tersebut dijalankan dan kita memasukan nilai 80 maka akan dicetak
perkataan “LULUS !!!” namun bila kita memasukan nilai yang kurang dari 65
maka akan tercetak perkataan “TIDAK LULUS !!!”. Hal ini berbeda dengan
struktur if dimana program akan berhenti bila kita memasukan nilai kurang dari
65.



1.4. STRUKTUR KONDISI IF DALAM IF

Perintah IF dalam IF sering disebut nested-if. Perintah ini mempunyai bentuk
umum sebagai berikut:

If (kondisi1)

       If (kondisi2)

                Pernyataan1;

       Else

                Pernyataan2;

Else

       Pernyataan3;



Contoh:

Zzzzzzzzzzzzz

Zzzzzzzzzzzz

zzzzzzzzzz



1.5. STRUKTUR KONDISI IF... ELSE IF... ELSE


                                                                            5
Pernyataan If dalam if juga mempunyai bentuk yang majemuk yang sering disebut
if bertingkat. Bentuk umumnya adalah sebagai berikut:

If (kondisi1)

         Pernyataan1;

Else if (kondisi2)

         Pernyataan2;

Else if (kondisi3)

         Pernyataan3;



…

…

...

else

         pernyataann;

Dalam hal ini jika kondisi 1 benar maka pernyataan1 yang dikerjakan dan apabila
kondisi 1 tidak benar maka kondisi2 yang akan dilihat. Dan seterusnya, jika
kondisi diatasnya tidak benar maka kondisi yang terakhir yang akan dikerjakan.

Contoh program 4:

#include <stdio.h>

main()

{

int nilai;

char huruf;

printf (“Masukkan nilai:”);scanf(“%d”,&nilai);

         if (nilai>=81 && nilai<=100)

                huruf=‟A‟;

         else

                                                                             6
if (nilai>=71 && nilai<=81)

               huruf=‟B‟;

       else

               if (nilai>=61 && nilai<=71)

               huruf=‟C‟;

       else

               if (nilai>=51 && nilai<=61)

               huruf=‟D‟;

       else

               huruf=‟E‟;

printf (“Jadi nilai huruf yang didapat adalah: %cn”,huruf);

}



1.6. PERINTAH SWITCH

       Perintah SWITCH merupakan pernyataan yang dirancang untuk
menangani pengambilan keputusan yang melibatkan sejumlah pilihan alternatif
yang diantaranya untuk menggantikan pernyataan IF bertingkat.

Bentuk umumnya adalah sebagai berikut :

SWITCH (Ekspresi)

       {

               Case konstanta1 :

                      pernyataan1;

                      break;

               Case konstanta2 :

                      pernyataan2;

                      break;

               Case konstanta3 :
                                                                         7
Pernyataan3;

                          break;

                 ...

                 Case Konstantan :

                          Pernyataan ;

                          Break;

                 Default :

                          Pernyataann x ;

                 }



       Ekspresi dapat berupa ungkapan yang bernilai integer atau bertipe
karakter. Setiap konstanta1, konstanta2, konstanta3, konstanta4 sampai dengan
konstantan dapat berupa konstanta integer atau konstanta karakter.

Setiap pernyataan1, pernyataan2, pernyataan3, pernyataan4                sampai
pernytaannxdapat berupa sebuah atau beberapa pernyataan.

       Pengujian pada switch akan dimulai dari konstanta1. apabila nilainya
cocok dengan ekspresi maka pernyataan satu akan dijalankan.

        Perintah break mnyebabkan eksekusi diarahkan ke akhir switch kalau nilai
konstanta satu tidak sama dengan nilai ekspresi dan kemudian baru diteruskan
pengujian dengan konstanta2 dan seterusnya. Jika sampai pada pengujian akhir
tidak ada yang cocok maka default akan dijalankan.

       Jika pernyataan break tidak diikutsertakan pada setiap case maka
walaupun konstantanya cocok denan ekspresi, maka setelah pernyataan pada case
tersebut dikerjakan akan dilanjutkan pada case berikutnya sampai ditemui
pernyataan break pada akhir switch.

Program 5.1. Contoh program case

/*---------------------------------------------*/

/* program : case.cpp                      */

/*--------------------------------------------*/

#include <stdio.h>
                                                                              8
main ( )

{

       int kdhari ;

       printf (“ masukkan kode hari [1-7] : ”) ;

       scanf (“%d” , &kdhari) ;

       switch (kdhari)

               {

                      case 1 :

                                 printf (“ senin ”);

                                 break;

                      case 2 :

                                 printf (“ selasa ”);

                                 break;

                      case 3 :

                                 printf (“ rabu ”);

                                 break;

                      case 4 :

                                 printf (“ kamis ”);

                                 break;

                      case 5 :

                                 printf (“ jum‟at ”);

                                 break;

                      case 6 :

                                 printf (“ sabtu ”);

                                 break;

                      case 7 :
                                                        9
printf (“ minggu ”);

                              break;

                     default :

                              Printf (“ Kode tidak ada “);

                          }

               }



Bila program di atas dijalankan maka hasilnya adalah sebagai berikut :

       Masukkan kode hari [1 – 7 ] : 1

       Senin

Penjelasan :

Dari program di atas, apabila dimasukkan kode hari = 1, maka sesuai kondisi yang
diterapkan di dalam program yaitu case 1, maka pernyataan pertama yang ada
pada case satu yaitu mencetak hari senin. Apabila dimasukkan kode hari = 2,
maka pernyataan kedua yang ada pada case 2 yaitu mencetak hari Selasa yang
akan dikerjakan. Dan seterusnya tergantung dari kode hari yang dimasukkan.




                                         BAB II

                            PENGULANGAN PROSES



2.1. STRUKTUR PERULANGAN “ WHILE”



Perulangan WHILE banyakdigunakanpada program yang terstruktur.
Perulanganinibanyakdigunakanbilajumlahperulangannyabelumdiketahui. Proses


                                                                             10
perulanganakanterusberlanjutselamakondisinyabernilaibenar                (true)
danakanberhentibilakondisinyabernilaisalah.



Contoh Program 1 :

/* Program Perulanganmenggunakan while */

#include “stdio.h”

#include “conio.h”

void main()

{ int x;

x = 1; /* awalvariabel */

while (x <= 10) /* Batas akhirperulangan */

{ printf(“%d BAHASA Cn”, x);

x ++; /* variabel x ditambahdengan 1 */

}

getch();

}



Jika program tersebutdijalankanmakaakanmenghasilkanhasilsebagaiberikut

1 BAHASA C

2 BAHASA C

3 BAHASA C

4 BAHASA C

5 BAHASA C

6 BAHASA C

7 BAHASA C

8 BAHASA C

                                                                            11
9 BAHASA C

10 BAHASA C



Padaperulangan while di atas, proses atauperintahmencetak kata-kata “BAHASA
C” akanterusdilakukanselamavariabel x masihkurangatausamadengan 10. Setiap
kali melakukanperulangan, nilaidarivariabel x akanbertambah 1.



Contoh Program 2 :

/* Program mencetakderetbilangandenganmenggunakan while */

#include"stdio.h"

#include"conio.h"

void main()

{ clrscr();

int i=1,x;

while(i<=5)

{ x=1;

while(x<=i)

{ printf("%i",x);

x=x+1;

}

printf("n");

i=i+1;

}

getch();

}




                                                                        12
Contoh program 3 :

#include <iostream.h>

#include <stdio.h>



void main()

{

       int i = 0;



       while (i != 99) {

       printf ("n MasukkanSebuahBilangan : "); scanf("%d",&i);

       printf ("n Bilangan Anda adalah= %d",i);

       }

}



2.2. STRUKTUR PERULANGAN “DO.....WHILE…”



Padadasarnyastrukturperulangan do....while samasajadenganstruktur while,
hanyasajapada proses perulangandengan while, seleksiberada di while yang
letaknya di atassementarapadaperulangan do....while, seleksi while berada di
bawahbatasperulangan. Jadidenganmenggunakanstruktur do…while sekurang-
kurangnyaakanterjadisatu kali perulangan.



Contoh Program 4 :

#include “stdio.h”

                                                                         13
#include “conio.h”

void main()

{ int x;

x = 1;

do

{ printf(“%d BAHASA Cn”, x);

x ++;

}

while(x <= 10);

getch();

}



2.3. STRUKTUR PERULANGAN “FOR”

Strukturperulangan for biasadigunakanuntukmengulangsuatu proses yang
telahdiketahuijumlahperulangannya. Dari segipenulisannya, strukturperulangan
for
tampaknyalebihefisienkarenasusunannyalebihsimpeldansederhana.Bentukumump
erulangan for adalahsebagaiberikut:



for(inisialisasi; syarat; penambahan)

pernyataan;



Keterangan :

Inisialisasi:pernyataanuntukmenyatakankeadaanawaldarivariabelkontrol.

syarat:ekspresirelasi yang menyatakankondisiuntukkeluardariperulangan.

penambahan:pengaturperubahannilaivariabelkontrol.



                                                                         14
Contoh Program 5 :

/* Program perulanganmenggunakan for */

#include “stdio.h”

#include “conio.h”

void main()

{ int x;

for(x = 1; x<= 10; x++)

{ printf(“%d BAHASA Cn”, x); }

getch();

}



Contoh Program 6 :

/* Mencari total dan rata-rata sejumlahbilanganmenggunakan for */

#include"stdio.h"

#include"conio.h"

void main()

{ clrscr();

floatr,i,x,t=0;

int y;

for(y=1; y<=3; y++)

for(i=0; i<=2; i++)

{ printf("Entry bilangan %i : ",y);scanf("%f",&x);

t=t+x;

y=y+1;

}

printf("n Total : %.2f",t);
                                                                    15
r=t/i;

printf("n Rata rata : %.2f",r);

getch();

}



2.4. PERNYATAAN BREAK

2.5. PERNYATAAN CONTINUE

2.6. NESTED LOOP




                                          BAB III

                                         ARRAY



3.1. ARRAY DIMENSI SATU

Setiapelemen array dapatdiaksesmelaluiindeks.Indeks array secara default dimulai
dari 0.

Deklarasi Array

Bentukumum :

         Tipe_arraynama_array[ukuran];

Contoh :

         Nilai[0] Nilai[1] Nilai[2] Nilai[3] Nilai[4]

         intNilai[5];

         70 80 82 60 75

Contoh Program 1 :
                                                                             16
/*Program untukmenginputnilaimahasiswakedalam array satudimensi*/

#include <stdio.h>

#include <conio.h>

void main()

{

int index, nilai[10];

clrscr();

/* input nilaimahasiswa */

printf(“Input nilai 10 mahasiswa : “);

for(index=0; index < 10; index++)

{ printf(“Mahasiswa %i : “, index+1);

scanf(“%i”, &nilai[index]);

}

/* tampilkan nilai mahasiswa */

printf(“Nilai mahasiswa yang telah diinput”);

for(index=0; index < 10; index++)

{ printf(“%5.0i”, nilai[index]);

}

getch();

}

CATATAN :

String jugasebenarnyamerupakan array yang bertipekarakter.Jumlahelemen array

menyatakanjumlah string.

Contoh Program 2 :

/*Program u/ menentukan jurusan & jenjang mahasiswa berdasarkan NIM*/

#include <stdio.h>
                                                                           17
#include <conio.h>

#include <string.h>

void main()

{

char jurusan[25], jenjang[10], nim[10], nama[20];

printf(“Masukkan nama Anda : “); gets(nama);

printf(“Masukkan NIM Anda : “); gets(nim);

/***** cari jurusan *****/

switch(nim[2])

{ case „1‟ : strcpy(jurusan, “Teknik Informatika”);

break;

case „2‟ : strcpy(jurusan, “SistemInformasi”);

break;

case „3‟ : strcpy(jurusan, “TeknikIndustri”);

break;

case „4‟ : strcpy(jurusan, “TeknikElektro”);

break;

default :printf(“Andasalahmemasukkan NIM. Cobaperiksalagi !”);

break;

}

/***** carijenjang *****/

if(nim[4] == „5‟)

{ strcpy(jenjang, “Strata-1”);

}

else

{ if(nim[4] == „3‟)
                                                                 18
{ strcpy(jenjang,”Diploma-3”);

}

else

printf(“ANdasalahmemasukkan NIM. Coba periksa lagi !”);

}

/***** tampilkan data mahasiswa *****/

printf(“ << Data MahasiswaUniversitasMercuBuana>>“);

printf(“n Nama : %s”, nama);

printf(“n NIM : %s”, nim);

printf(“n Jurusan : %s”, jurusan);

printf(“n Jenjang : %s”, jenjang);

getch();

}



Contoh Program 3 :

/*Program u/ menentukan RATA-RATA*/

#include <stdio.h>

#define MAKS 5

main()

{

int i;

float total = 0, rata;

floatnilai_tes[MAKS]; /* deklarasi array */

for(i=0; i < MAKS; i++) /* pemasukan data nilai_tes */

{

printf("Nilaiteske-%d : ", i+1);
                                                          19
scanf("%f", &nilai_tes[i]);

/* menghitungjumlahseluruhnilai */

total = total + nilai_tes[i];

}

rata = total / MAKS; /* hitungnilai rata-rata */

/* cetaknilai rata-rata */

printf("nNilai rata-rata = %gn", rata);

}

3.2. ARRAY DIMENSI DUA

Array dua dimensi merupakan array yang terdiri dari m buah baris dan n buah
kolom.

Bentuknya dapat berupa matriks atau tabel.

Deklarasiarray :

        Tipe_arraynama_array[baris][kolom];

Contoh :

        IntX[3][4];

        X[0][0] X[0][1] X[0][2] X[0][3]

        X[1][0] X[1][1] X[1][2] X[1][3]

        X[2][0] X[2][1] X[2][2] X[2][3]

Cara mengaksesarray :

Untukmengakses array, misalnyakitainginmengisielemen array baris 2 kolom 3
dengan 10 makaperintahnyaadalahsbb:

        X[1][2] = 10;

Untuk mengisi dan menampilkan isi elemen array ada dua cara yaitu :

       Row Major Order (secarabaris per baris)
       Column Major Order (secarakolom per kolom)



                                                                        20
Contoh Program 3 :

/* Program penjumlahanmatriksduadimensi */

#include "stdio.h"

#include "conio.h"

void main()

{

int A[3][4], B[3][4], X[3][4], Y[3][4], C[3][4], i, j;

clrscr();

/******* Masukkanmatriks A *******/

for(i=0;i<3;i++)

{ for(j=0;j<4;j++)

{ printf("input data matrik A[%i][%i] : ",i+1,j+1);

fflush(stdin);scanf("%i",&A[i][j]);

}

}

/******** Masukkanmatriks B ********/

for(i=0;i<3;i++)

{ for(j=0;j<4;j++)

{ printf("input data matrik B[%i][%i] : ",i+1,j+1);

fflush(stdin);scanf("%i",&B[i][j]);

}

}

/******** Proses penjumlahanmatriks A dan B ********/

for(i=0;i<3;i++)

{ for(j=0;j<4;j++)

{ X[i][j]=A[i][j]+B[i][j];
                                                         21
}

}

/******** Cetak isi matriks A ********/

printf("n matrik An");

for(i=0;i<3;i++)

{ for(j=0;j<4;j++)

printf("%6i",A[i][j]);

printf("n");

}

printf("n");

/******** Cetakisimatriks B *******/

printf("n matrik Bn");

for(i=0;i<3;i++)

{ for(j=0;j<4;j++)

printf("%6i",B[i][j]);printf("n");

}

printf("n");

/******** Cetakhasilpenjumlahanmatriks A dan B *******/

printf("n matrikpenjumlahan A+Bn");

for(i=0;i<3;i++)

{ for(j=0;j<4;j++)

printf("%6i",X[i][j]);printf("n");

}

printf("nn");

getch();

}
                                                          22
Contoh aplikasi Array untuk menghitung invers suatu matriks dengan ukuran m x
n dengan metode Gauss-Jordan :

Contoh Program 4:

/* MENGHITUNG INVERS MATRIKS DENGAN METODE GAUSS-
JORDAN */

#include <stdio.h>

#include <conio.h>

void main()

{

float p[20], a[20][20], t;

int m, i, j, k, x;

clrscr();

printf("nMasukkanukuranmatriks : n");

scanf("%d", &m);

printf("nMasukkan nilai elemen matriks yang akan diinvers”);

printf(“nsecara baris per barisn");

/* Membacamatriksasli */

for(i=1; i<=m; i++)

{ printf("n");

for(j=1; j<=m; j++)

{ printf("A(%d,%d)= ",i, j);

scanf("%f", &a[i][j]);

}

}

/* MencetakMatriksasli */

printf("nMatriksasli : ");
                                                                          23
for(i=1; i<=m; i++)

{ printf("n");

for(j=1; j<=m; j++)

printf(" %.f", a[i][j]);

}

/* Proses inversi */

for(i=1; i<=m; i++)

{ p[i] = a[i][j];

a[i][j] = 1;

for(j=1; j<=m; j++)

{ a[i][j] = a[i][j]/p[i];

}

for(k=1; k<=m; k++)

{ if(k != i)

{ t = a[k][i];

a[k][i] = 0;

for(x=1; x<=m; x++)

a[k][x] = a[k][x] - a[i][x] * t;

}

}

}

/* Mencetakmatrikshasilinversi*/

printf("nnMatriksinversi : n");

for(i =1; i <=m; i++)

{ for(j=1; j<=m; j++)

printf(" %.1f", a[i][j]);
                                     24
printf(" n");

}

getch();

}



3.3. ARRAY MULTI-DIMENSI

Array multi-dimensi merupakan array yang mempunyai ukuran lebih dari dua.
Bentuk pendeklarasian array sama saja dengan array dimensi satu maupun array
dimensi dua. Bentuk umumnya yaitu :

        tipe_arraynama_array[ukuran1][ukuran2]…[ukuranN];

Contoh :

float X[2][4][3];

X[0][0][0] X[0][0][1] X[0][0][2] X[1][0][0] X[1][0][1] X[1][0][2]

X[0][1][0] X[0][1][1] X[0][1][2] X[1][1][0] X[1][1][1] X[1][1][2]

X[0][2][0] X[0][2][1] X[0][2][2] X[1][2][0] X[1][2][1] X[1][2][2]

X[0][3][0] X[0][3][1] X[0][3][2] X[1][3][0] X[1][3][1] X[1][3][2]




                                                                         25

Prokom raw

  • 1.
    MODUL PEMROGRAMAN KOMPUTER I MADE AGUS OKA GUNAWAN 1108605020 1 ILMU KOMPUTER-UNIVERSITAS UDAYANA
  • 2.
    BAB I PENYELEKSIAN KONDISI 1.2. STRUKTUR KONDISI “IF….” Struktur if dibentuk dari pernyataan if dan sering digunakan untuk menyeleksi suatu kondisi tunggal. Bila proses yang diseleksi terpenuhi atau bernilai benar, maka pernyataan yang ada di dalam blok if akan diproses dan dikerjakan. Bentuk umum struktur kondisi if adalah: if(kondisi) pernyataan; Contoh Program 1: /* Program struktur kondisi if untuk memeriksa suatu kondisi */ #include “stdio.h” #include “conio.h” void main() { float nilai; printf(“Masukan nilai yang didapat : “); scanf(“%f”, &nilai); if(nilai > 65) printf(“n ANDA LULUS !!!!n”); getch(); 2
  • 3.
    } Bila program tersebutdijalankan dan kita memasukan nilai 80, maka perintah mencetak perkataan LULUS !!!! akan dilaksanakan, namun sebaliknya bila kita memasukan sebuah nilai yang kurang dari 65 maka program akan berhenti dan tidak dihasilkan apa-apa. Contoh Program 2 : /* Program contoh penerapan struktur kondisi if */ #include"stdio.h" #include"conio.h" void main() { clrscr(); int a,b,c,max; printf("Entry bil 1 : ");scanf("%i",&a); printf("Entry bil 2 : ");scanf("%i",&b); printf("Entry bil 3 : ");scanf("%i",&c); if((a>b)&&(a>c)) max=a; if((b>a)&&(b>c)) max=b; if((c>a)&&(c>b)) max=c; printf("Bil terbesar : %in",max); if(max>0) printf("Bil tsb adalah bil positifn"); if(max<0) 3
  • 4.
    printf("Bil tsb adalahbil negatif"); getch(); } 1.3. STRUKTUR KONDISI “IF......ELSE….” Dalam struktur kondisi if.....else minimal terdapat dua pernyataan. Jika kondisi yang diperiksa bernilai benar atau terpenuhi maka pernyataan pertama yang dilaksanakan dan jika kondisi yang diperiksa bernilai salah maka pernyataan yang kedua yang dilaksanakan. Bentuk umumnya adalah sebagai berikut: if(kondisi) pernyataan-1 else pernyataan-2 Contoh Program 3: #include “stdio.h” #include “conio.h” void main() { float nilai; clrscr(); printf(“Masukan nilai yang didapat : “); scanf(“%f”, &nilai); /* Masukan akan disimpan dalam variable nilai */ if (nilai > 65) printf(“n LULUS !!!n”); else 4
  • 5.
    printf(“n TIDAK LULUS!!!n”); getch(); } Bila program tersebut dijalankan dan kita memasukan nilai 80 maka akan dicetak perkataan “LULUS !!!” namun bila kita memasukan nilai yang kurang dari 65 maka akan tercetak perkataan “TIDAK LULUS !!!”. Hal ini berbeda dengan struktur if dimana program akan berhenti bila kita memasukan nilai kurang dari 65. 1.4. STRUKTUR KONDISI IF DALAM IF Perintah IF dalam IF sering disebut nested-if. Perintah ini mempunyai bentuk umum sebagai berikut: If (kondisi1) If (kondisi2) Pernyataan1; Else Pernyataan2; Else Pernyataan3; Contoh: Zzzzzzzzzzzzz Zzzzzzzzzzzz zzzzzzzzzz 1.5. STRUKTUR KONDISI IF... ELSE IF... ELSE 5
  • 6.
    Pernyataan If dalamif juga mempunyai bentuk yang majemuk yang sering disebut if bertingkat. Bentuk umumnya adalah sebagai berikut: If (kondisi1) Pernyataan1; Else if (kondisi2) Pernyataan2; Else if (kondisi3) Pernyataan3; … … ... else pernyataann; Dalam hal ini jika kondisi 1 benar maka pernyataan1 yang dikerjakan dan apabila kondisi 1 tidak benar maka kondisi2 yang akan dilihat. Dan seterusnya, jika kondisi diatasnya tidak benar maka kondisi yang terakhir yang akan dikerjakan. Contoh program 4: #include <stdio.h> main() { int nilai; char huruf; printf (“Masukkan nilai:”);scanf(“%d”,&nilai); if (nilai>=81 && nilai<=100) huruf=‟A‟; else 6
  • 7.
    if (nilai>=71 &&nilai<=81) huruf=‟B‟; else if (nilai>=61 && nilai<=71) huruf=‟C‟; else if (nilai>=51 && nilai<=61) huruf=‟D‟; else huruf=‟E‟; printf (“Jadi nilai huruf yang didapat adalah: %cn”,huruf); } 1.6. PERINTAH SWITCH Perintah SWITCH merupakan pernyataan yang dirancang untuk menangani pengambilan keputusan yang melibatkan sejumlah pilihan alternatif yang diantaranya untuk menggantikan pernyataan IF bertingkat. Bentuk umumnya adalah sebagai berikut : SWITCH (Ekspresi) { Case konstanta1 : pernyataan1; break; Case konstanta2 : pernyataan2; break; Case konstanta3 : 7
  • 8.
    Pernyataan3; break; ... Case Konstantan : Pernyataan ; Break; Default : Pernyataann x ; } Ekspresi dapat berupa ungkapan yang bernilai integer atau bertipe karakter. Setiap konstanta1, konstanta2, konstanta3, konstanta4 sampai dengan konstantan dapat berupa konstanta integer atau konstanta karakter. Setiap pernyataan1, pernyataan2, pernyataan3, pernyataan4 sampai pernytaannxdapat berupa sebuah atau beberapa pernyataan. Pengujian pada switch akan dimulai dari konstanta1. apabila nilainya cocok dengan ekspresi maka pernyataan satu akan dijalankan. Perintah break mnyebabkan eksekusi diarahkan ke akhir switch kalau nilai konstanta satu tidak sama dengan nilai ekspresi dan kemudian baru diteruskan pengujian dengan konstanta2 dan seterusnya. Jika sampai pada pengujian akhir tidak ada yang cocok maka default akan dijalankan. Jika pernyataan break tidak diikutsertakan pada setiap case maka walaupun konstantanya cocok denan ekspresi, maka setelah pernyataan pada case tersebut dikerjakan akan dilanjutkan pada case berikutnya sampai ditemui pernyataan break pada akhir switch. Program 5.1. Contoh program case /*---------------------------------------------*/ /* program : case.cpp */ /*--------------------------------------------*/ #include <stdio.h> 8
  • 9.
    main ( ) { int kdhari ; printf (“ masukkan kode hari [1-7] : ”) ; scanf (“%d” , &kdhari) ; switch (kdhari) { case 1 : printf (“ senin ”); break; case 2 : printf (“ selasa ”); break; case 3 : printf (“ rabu ”); break; case 4 : printf (“ kamis ”); break; case 5 : printf (“ jum‟at ”); break; case 6 : printf (“ sabtu ”); break; case 7 : 9
  • 10.
    printf (“ minggu”); break; default : Printf (“ Kode tidak ada “); } } Bila program di atas dijalankan maka hasilnya adalah sebagai berikut : Masukkan kode hari [1 – 7 ] : 1 Senin Penjelasan : Dari program di atas, apabila dimasukkan kode hari = 1, maka sesuai kondisi yang diterapkan di dalam program yaitu case 1, maka pernyataan pertama yang ada pada case satu yaitu mencetak hari senin. Apabila dimasukkan kode hari = 2, maka pernyataan kedua yang ada pada case 2 yaitu mencetak hari Selasa yang akan dikerjakan. Dan seterusnya tergantung dari kode hari yang dimasukkan. BAB II PENGULANGAN PROSES 2.1. STRUKTUR PERULANGAN “ WHILE” Perulangan WHILE banyakdigunakanpada program yang terstruktur. Perulanganinibanyakdigunakanbilajumlahperulangannyabelumdiketahui. Proses 10
  • 11.
    perulanganakanterusberlanjutselamakondisinyabernilaibenar (true) danakanberhentibilakondisinyabernilaisalah. Contoh Program 1 : /* Program Perulanganmenggunakan while */ #include “stdio.h” #include “conio.h” void main() { int x; x = 1; /* awalvariabel */ while (x <= 10) /* Batas akhirperulangan */ { printf(“%d BAHASA Cn”, x); x ++; /* variabel x ditambahdengan 1 */ } getch(); } Jika program tersebutdijalankanmakaakanmenghasilkanhasilsebagaiberikut 1 BAHASA C 2 BAHASA C 3 BAHASA C 4 BAHASA C 5 BAHASA C 6 BAHASA C 7 BAHASA C 8 BAHASA C 11
  • 12.
    9 BAHASA C 10BAHASA C Padaperulangan while di atas, proses atauperintahmencetak kata-kata “BAHASA C” akanterusdilakukanselamavariabel x masihkurangatausamadengan 10. Setiap kali melakukanperulangan, nilaidarivariabel x akanbertambah 1. Contoh Program 2 : /* Program mencetakderetbilangandenganmenggunakan while */ #include"stdio.h" #include"conio.h" void main() { clrscr(); int i=1,x; while(i<=5) { x=1; while(x<=i) { printf("%i",x); x=x+1; } printf("n"); i=i+1; } getch(); } 12
  • 13.
    Contoh program 3: #include <iostream.h> #include <stdio.h> void main() { int i = 0; while (i != 99) { printf ("n MasukkanSebuahBilangan : "); scanf("%d",&i); printf ("n Bilangan Anda adalah= %d",i); } } 2.2. STRUKTUR PERULANGAN “DO.....WHILE…” Padadasarnyastrukturperulangan do....while samasajadenganstruktur while, hanyasajapada proses perulangandengan while, seleksiberada di while yang letaknya di atassementarapadaperulangan do....while, seleksi while berada di bawahbatasperulangan. Jadidenganmenggunakanstruktur do…while sekurang- kurangnyaakanterjadisatu kali perulangan. Contoh Program 4 : #include “stdio.h” 13
  • 14.
    #include “conio.h” void main() {int x; x = 1; do { printf(“%d BAHASA Cn”, x); x ++; } while(x <= 10); getch(); } 2.3. STRUKTUR PERULANGAN “FOR” Strukturperulangan for biasadigunakanuntukmengulangsuatu proses yang telahdiketahuijumlahperulangannya. Dari segipenulisannya, strukturperulangan for tampaknyalebihefisienkarenasusunannyalebihsimpeldansederhana.Bentukumump erulangan for adalahsebagaiberikut: for(inisialisasi; syarat; penambahan) pernyataan; Keterangan : Inisialisasi:pernyataanuntukmenyatakankeadaanawaldarivariabelkontrol. syarat:ekspresirelasi yang menyatakankondisiuntukkeluardariperulangan. penambahan:pengaturperubahannilaivariabelkontrol. 14
  • 15.
    Contoh Program 5: /* Program perulanganmenggunakan for */ #include “stdio.h” #include “conio.h” void main() { int x; for(x = 1; x<= 10; x++) { printf(“%d BAHASA Cn”, x); } getch(); } Contoh Program 6 : /* Mencari total dan rata-rata sejumlahbilanganmenggunakan for */ #include"stdio.h" #include"conio.h" void main() { clrscr(); floatr,i,x,t=0; int y; for(y=1; y<=3; y++) for(i=0; i<=2; i++) { printf("Entry bilangan %i : ",y);scanf("%f",&x); t=t+x; y=y+1; } printf("n Total : %.2f",t); 15
  • 16.
    r=t/i; printf("n Rata rata: %.2f",r); getch(); } 2.4. PERNYATAAN BREAK 2.5. PERNYATAAN CONTINUE 2.6. NESTED LOOP BAB III ARRAY 3.1. ARRAY DIMENSI SATU Setiapelemen array dapatdiaksesmelaluiindeks.Indeks array secara default dimulai dari 0. Deklarasi Array Bentukumum : Tipe_arraynama_array[ukuran]; Contoh : Nilai[0] Nilai[1] Nilai[2] Nilai[3] Nilai[4] intNilai[5]; 70 80 82 60 75 Contoh Program 1 : 16
  • 17.
    /*Program untukmenginputnilaimahasiswakedalam arraysatudimensi*/ #include <stdio.h> #include <conio.h> void main() { int index, nilai[10]; clrscr(); /* input nilaimahasiswa */ printf(“Input nilai 10 mahasiswa : “); for(index=0; index < 10; index++) { printf(“Mahasiswa %i : “, index+1); scanf(“%i”, &nilai[index]); } /* tampilkan nilai mahasiswa */ printf(“Nilai mahasiswa yang telah diinput”); for(index=0; index < 10; index++) { printf(“%5.0i”, nilai[index]); } getch(); } CATATAN : String jugasebenarnyamerupakan array yang bertipekarakter.Jumlahelemen array menyatakanjumlah string. Contoh Program 2 : /*Program u/ menentukan jurusan & jenjang mahasiswa berdasarkan NIM*/ #include <stdio.h> 17
  • 18.
    #include <conio.h> #include <string.h> voidmain() { char jurusan[25], jenjang[10], nim[10], nama[20]; printf(“Masukkan nama Anda : “); gets(nama); printf(“Masukkan NIM Anda : “); gets(nim); /***** cari jurusan *****/ switch(nim[2]) { case „1‟ : strcpy(jurusan, “Teknik Informatika”); break; case „2‟ : strcpy(jurusan, “SistemInformasi”); break; case „3‟ : strcpy(jurusan, “TeknikIndustri”); break; case „4‟ : strcpy(jurusan, “TeknikElektro”); break; default :printf(“Andasalahmemasukkan NIM. Cobaperiksalagi !”); break; } /***** carijenjang *****/ if(nim[4] == „5‟) { strcpy(jenjang, “Strata-1”); } else { if(nim[4] == „3‟) 18
  • 19.
    { strcpy(jenjang,”Diploma-3”); } else printf(“ANdasalahmemasukkan NIM.Coba periksa lagi !”); } /***** tampilkan data mahasiswa *****/ printf(“ << Data MahasiswaUniversitasMercuBuana>>“); printf(“n Nama : %s”, nama); printf(“n NIM : %s”, nim); printf(“n Jurusan : %s”, jurusan); printf(“n Jenjang : %s”, jenjang); getch(); } Contoh Program 3 : /*Program u/ menentukan RATA-RATA*/ #include <stdio.h> #define MAKS 5 main() { int i; float total = 0, rata; floatnilai_tes[MAKS]; /* deklarasi array */ for(i=0; i < MAKS; i++) /* pemasukan data nilai_tes */ { printf("Nilaiteske-%d : ", i+1); 19
  • 20.
    scanf("%f", &nilai_tes[i]); /* menghitungjumlahseluruhnilai*/ total = total + nilai_tes[i]; } rata = total / MAKS; /* hitungnilai rata-rata */ /* cetaknilai rata-rata */ printf("nNilai rata-rata = %gn", rata); } 3.2. ARRAY DIMENSI DUA Array dua dimensi merupakan array yang terdiri dari m buah baris dan n buah kolom. Bentuknya dapat berupa matriks atau tabel. Deklarasiarray : Tipe_arraynama_array[baris][kolom]; Contoh : IntX[3][4]; X[0][0] X[0][1] X[0][2] X[0][3] X[1][0] X[1][1] X[1][2] X[1][3] X[2][0] X[2][1] X[2][2] X[2][3] Cara mengaksesarray : Untukmengakses array, misalnyakitainginmengisielemen array baris 2 kolom 3 dengan 10 makaperintahnyaadalahsbb: X[1][2] = 10; Untuk mengisi dan menampilkan isi elemen array ada dua cara yaitu :  Row Major Order (secarabaris per baris)  Column Major Order (secarakolom per kolom) 20
  • 21.
    Contoh Program 3: /* Program penjumlahanmatriksduadimensi */ #include "stdio.h" #include "conio.h" void main() { int A[3][4], B[3][4], X[3][4], Y[3][4], C[3][4], i, j; clrscr(); /******* Masukkanmatriks A *******/ for(i=0;i<3;i++) { for(j=0;j<4;j++) { printf("input data matrik A[%i][%i] : ",i+1,j+1); fflush(stdin);scanf("%i",&A[i][j]); } } /******** Masukkanmatriks B ********/ for(i=0;i<3;i++) { for(j=0;j<4;j++) { printf("input data matrik B[%i][%i] : ",i+1,j+1); fflush(stdin);scanf("%i",&B[i][j]); } } /******** Proses penjumlahanmatriks A dan B ********/ for(i=0;i<3;i++) { for(j=0;j<4;j++) { X[i][j]=A[i][j]+B[i][j]; 21
  • 22.
    } } /******** Cetak isimatriks A ********/ printf("n matrik An"); for(i=0;i<3;i++) { for(j=0;j<4;j++) printf("%6i",A[i][j]); printf("n"); } printf("n"); /******** Cetakisimatriks B *******/ printf("n matrik Bn"); for(i=0;i<3;i++) { for(j=0;j<4;j++) printf("%6i",B[i][j]);printf("n"); } printf("n"); /******** Cetakhasilpenjumlahanmatriks A dan B *******/ printf("n matrikpenjumlahan A+Bn"); for(i=0;i<3;i++) { for(j=0;j<4;j++) printf("%6i",X[i][j]);printf("n"); } printf("nn"); getch(); } 22
  • 23.
    Contoh aplikasi Arrayuntuk menghitung invers suatu matriks dengan ukuran m x n dengan metode Gauss-Jordan : Contoh Program 4: /* MENGHITUNG INVERS MATRIKS DENGAN METODE GAUSS- JORDAN */ #include <stdio.h> #include <conio.h> void main() { float p[20], a[20][20], t; int m, i, j, k, x; clrscr(); printf("nMasukkanukuranmatriks : n"); scanf("%d", &m); printf("nMasukkan nilai elemen matriks yang akan diinvers”); printf(“nsecara baris per barisn"); /* Membacamatriksasli */ for(i=1; i<=m; i++) { printf("n"); for(j=1; j<=m; j++) { printf("A(%d,%d)= ",i, j); scanf("%f", &a[i][j]); } } /* MencetakMatriksasli */ printf("nMatriksasli : "); 23
  • 24.
    for(i=1; i<=m; i++) {printf("n"); for(j=1; j<=m; j++) printf(" %.f", a[i][j]); } /* Proses inversi */ for(i=1; i<=m; i++) { p[i] = a[i][j]; a[i][j] = 1; for(j=1; j<=m; j++) { a[i][j] = a[i][j]/p[i]; } for(k=1; k<=m; k++) { if(k != i) { t = a[k][i]; a[k][i] = 0; for(x=1; x<=m; x++) a[k][x] = a[k][x] - a[i][x] * t; } } } /* Mencetakmatrikshasilinversi*/ printf("nnMatriksinversi : n"); for(i =1; i <=m; i++) { for(j=1; j<=m; j++) printf(" %.1f", a[i][j]); 24
  • 25.
    printf(" n"); } getch(); } 3.3. ARRAYMULTI-DIMENSI Array multi-dimensi merupakan array yang mempunyai ukuran lebih dari dua. Bentuk pendeklarasian array sama saja dengan array dimensi satu maupun array dimensi dua. Bentuk umumnya yaitu : tipe_arraynama_array[ukuran1][ukuran2]…[ukuranN]; Contoh : float X[2][4][3]; X[0][0][0] X[0][0][1] X[0][0][2] X[1][0][0] X[1][0][1] X[1][0][2] X[0][1][0] X[0][1][1] X[0][1][2] X[1][1][0] X[1][1][1] X[1][1][2] X[0][2][0] X[0][2][1] X[0][2][2] X[1][2][0] X[1][2][1] X[1][2][2] X[0][3][0] X[0][3][1] X[0][3][2] X[1][3][0] X[1][3][1] X[1][3][2] 25