Prokom raw

Preview:

Citation preview

1

MODUL PEMROGRAMAN KOMPUTERI MADE AGUS OKA GUNAWAN

1108605020 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 : %i\n",max);

if(max>0)

printf("Bil tsb adalah bil positif\n");

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: %c\n”,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 banyak digunakan pada program yang terstruktur. Perulangan ini banyak digunakan bila jumlah perulangannya belum diketahui. Proses

10

perulangan akan terus berlanjut selama kondisinya bernilai benar (true) dan akan berhenti bila kondisinya bernilai salah.

Contoh Program 1 :

/* Program Perulangan menggunakan while */

#include “stdio.h”

#include “conio.h”

void main()

{ int x;

x = 1; /* awal variabel */

while (x <= 10) /* Batas akhir perulangan */

{ printf(“%d BAHASA C\n”, x);

x ++; /* variabel x ditambah dengan 1 */

}

getch();

}

Jika program tersebut dijalankan maka akan menghasilkan hasil sebagai berikut

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

Pada perulangan while di atas, proses atau perintah mencetak kata-kata “BAHASA C” akan terus dilakukan selama variabel x masih kurang atau sama dengan 10. Setiap kali melakukan perulangan, nilai dari variabel x akan bertambah 1.

Contoh Program 2 :

/* Program mencetak deret bilangan dengan menggunakan 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 Masukkan Sebuah Bilangan : "); scanf("%d",&i);

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

}

}

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

Pada dasarnya struktur perulangan do....while sama saja dengan struktur while, hanya saja pada proses perulangan dengan while, seleksi berada di while yang letaknya di atas sementara pada perulangan do....while, seleksi while berada di bawah batas perulangan. Jadi dengan menggunakan struktur do…while sekurang-kurangnya akan terjadi satu kali perulangan.

Contoh Program 4 :

13

#include “stdio.h”

#include “conio.h”

void main()

{ int x;

x = 1;

do

{ printf(“%d BAHASA C\n”, x);

x ++;

}

while(x <= 10);

getch();

}

2.3. STRUKTUR PERULANGAN “FOR”

Struktur perulangan for biasa digunakan untuk mengulang suatu proses yang telah diketahui jumlah perulangannya. Dari segi penulisannya, struktur perulangan for tampaknya lebih efisien karena susunannya lebih simpel dan sederhana. Bentuk umum perulangan for adalah sebagai berikut:

for(inisialisasi; syarat; penambahan)

pernyataan;

Keterangan :

Inisialisasi : pernyataan untuk menyatakan keadaan awal dari variabel kontrol.

syarat : ekspresi relasi yang menyatakan kondisi untuk keluar dari perulangan.

penambahan : pengatur perubahan nilai variabel kontrol.

14

Contoh Program 5 :

/* Program perulangan menggunakan for */

#include “stdio.h”

#include “conio.h”

void main()

{ int x;

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

{ printf(“%d BAHASA C\n”, x); }

getch();

}

Contoh Program 6 :

/* Mencari total dan rata-rata sejumlah bilangan menggunakan for */

#include"stdio.h"

#include"conio.h"

void main()

{ clrscr();

float r,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

Setiap elemen array dapat diakses melalui indeks. Indeks array secara default dimulai dari 0.

Deklarasi Array

Bentuk umum :

Tipe_array nama_array[ukuran];

Contoh :

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

int Nilai[5];

70 80 82 60 75

Contoh Program 1 :16

/*Program untuk menginput nilai mahasiswa ke dalam array satu dimensi*/

#include <stdio.h>

#include <conio.h>

void main()

{

int index, nilai[10];

clrscr();

/* input nilai mahasiswa */

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 juga sebenarnya merupakan array yang bertipe karakter. Jumlah elemen array

menyatakan jumlah string.

Contoh Program 2 :

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

17

#include <stdio.h>

#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, “Sistem Informasi”);

break;

case ‘3’ : strcpy(jurusan, “Teknik Industri”);

break;

case ‘4’ : strcpy(jurusan, “Teknik Elektro”);

break;

default : printf(“Anda salah memasukkan NIM. Coba periksa lagi !”);

break;

}

/***** cari jenjang *****/

if(nim[4] == ‘5’)

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

}

else

18

{ if(nim[4] == ‘3’)

{ strcpy(jenjang,”Diploma-3”);

}

else

printf(“ANda salah memasukkan NIM. Coba periksa lagi !”);

}

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

printf(“ << Data Mahasiswa Universitas Mercu Buana >>“);

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;

float nilai_tes[MAKS]; /* deklarasi array */

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

{

19

printf("Nilai tes ke-%d : ", i+1);

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

/* menghitung jumlah seluruh nilai */

total = total + nilai_tes[i];

}

rata = total / MAKS; /* hitung nilai rata-rata */

/* cetak nilai rata-rata */

printf("\nNilai rata-rata = %g\n", 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.

Deklarasi array :

Tipe_array nama_array[baris][kolom];

Contoh :

Int X[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 mengakses array :

Untuk mengakses array, misalnya kita ingin mengisi elemen array baris 2 kolom 3 dengan 10 maka perintahnya adalah sbb:

X[1][2] = 10;

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

Row Major Order (secara baris per baris) Column Major Order (secara kolom per kolom)

20

Contoh Program 3 :

/* Program penjumlahan matriks dua dimensi */

#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();

/******* Masukkan matriks 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]);

}

}

/******** Masukkan matriks 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 penjumlahan matriks A dan B ********/

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

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

21

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

}

}

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

printf("\n matrik A\n");

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

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

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

printf("\n");

}

printf("\n");

/******** Cetak isi matriks B *******/

printf("\n matrik B\n");

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

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

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

}

printf("\n");

/******** Cetak hasil penjumlahan matriks A dan B *******/

printf("\n matrik penjumlahan A+B\n");

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

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

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

}

printf("\n\n");

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("\nMasukkan ukuran matriks : \n");

scanf("%d", &m);

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

printf(“\nsecara baris per baris\n");

/* Membaca matriks asli */

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]);

}

}

/* Mencetak Matriks asli */23

printf("\nMatriks asli : ");

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;

}

}

}

/* Mencetak matriks hasil inversi*/

printf("\n\nMatriks inversi : \n");

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

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

24

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

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_array nama_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

Recommended