Prokom raw

676 views

Published on

Published in: Education, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
676
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
12
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Prokom raw

  1. 1. MODUL PEMROGRAMAN KOMPUTER I MADE AGUS OKA GUNAWAN 1108605020 1 ILMU KOMPUTER-UNIVERSITAS UDAYANA
  2. 2. BAB I PENYELEKSIAN KONDISI1.2. STRUKTUR KONDISI “IF….”Struktur if dibentuk dari pernyataan if dan sering digunakan untuk menyeleksisuatu kondisi tunggal. Bila proses yang diseleksi terpenuhi atau bernilai benar,maka pernyataan yang ada di dalam blok if akan diproses dan dikerjakan. Bentukumum 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. 3. }Bila program tersebut dijalankan dan kita memasukan nilai 80, maka perintahmencetak perkataan LULUS !!!! akan dilaksanakan, namun sebaliknya bila kitamemasukan sebuah nilai yang kurang dari 65 maka program akan berhenti dantidak 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. 4. printf("Bil tsb adalah bil negatif");getch();}1.3. STRUKTUR KONDISI “IF......ELSE….”Dalam struktur kondisi if.....else minimal terdapat dua pernyataan. Jika kondisiyang diperiksa bernilai benar atau terpenuhi maka pernyataan pertama yangdilaksanakan dan jika kondisi yang diperiksa bernilai salah maka pernyataan yangkedua yang dilaksanakan. Bentuk umumnya adalah sebagai berikut: if(kondisi) pernyataan-1 else pernyataan-2Contoh 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. 5. printf(“n TIDAK LULUS !!!n”);getch();}Bila program tersebut dijalankan dan kita memasukan nilai 80 maka akan dicetakperkataan “LULUS !!!” namun bila kita memasukan nilai yang kurang dari 65maka akan tercetak perkataan “TIDAK LULUS !!!”. Hal ini berbeda denganstruktur if dimana program akan berhenti bila kita memasukan nilai kurang dari65.1.4. STRUKTUR KONDISI IF DALAM IFPerintah IF dalam IF sering disebut nested-if. Perintah ini mempunyai bentukumum sebagai berikut:If (kondisi1) If (kondisi2) Pernyataan1; Else Pernyataan2;Else Pernyataan3;Contoh:ZzzzzzzzzzzzzZzzzzzzzzzzzzzzzzzzzzz1.5. STRUKTUR KONDISI IF... ELSE IF... ELSE 5
  6. 6. Pernyataan If dalam if juga mempunyai bentuk yang majemuk yang sering disebutif 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 apabilakondisi 1 tidak benar maka kondisi2 yang akan dilihat. Dan seterusnya, jikakondisi 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. 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 untukmenangani pengambilan keputusan yang melibatkan sejumlah pilihan alternatifyang 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. 8. Pernyataan3; break; ... Case Konstantan : Pernyataan ; Break; Default : Pernyataann x ; } Ekspresi dapat berupa ungkapan yang bernilai integer atau bertipekarakter. Setiap konstanta1, konstanta2, konstanta3, konstanta4 sampai dengankonstantan dapat berupa konstanta integer atau konstanta karakter.Setiap pernyataan1, pernyataan2, pernyataan3, pernyataan4 sampaipernytaannxdapat berupa sebuah atau beberapa pernyataan. Pengujian pada switch akan dimulai dari konstanta1. apabila nilainyacocok dengan ekspresi maka pernyataan satu akan dijalankan. Perintah break mnyebabkan eksekusi diarahkan ke akhir switch kalau nilaikonstanta satu tidak sama dengan nilai ekspresi dan kemudian baru diteruskanpengujian dengan konstanta2 dan seterusnya. Jika sampai pada pengujian akhirtidak ada yang cocok maka default akan dijalankan. Jika pernyataan break tidak diikutsertakan pada setiap case makawalaupun konstantanya cocok denan ekspresi, maka setelah pernyataan pada casetersebut dikerjakan akan dilanjutkan pada case berikutnya sampai ditemuipernyataan break pada akhir switch.Program 5.1. Contoh program case/*---------------------------------------------*//* program : case.cpp *//*--------------------------------------------*/#include <stdio.h> 8
  9. 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. 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 SeninPenjelasan :Dari program di atas, apabila dimasukkan kode hari = 1, maka sesuai kondisi yangditerapkan di dalam program yaitu case 1, maka pernyataan pertama yang adapada case satu yaitu mencetak hari senin. Apabila dimasukkan kode hari = 2,maka pernyataan kedua yang ada pada case 2 yaitu mencetak hari Selasa yangakan dikerjakan. Dan seterusnya tergantung dari kode hari yang dimasukkan. BAB II PENGULANGAN PROSES2.1. STRUKTUR PERULANGAN “ WHILE”Perulangan WHILE banyakdigunakanpada program yang terstruktur.Perulanganinibanyakdigunakanbilajumlahperulangannyabelumdiketahui. Proses 10
  11. 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 tersebutdijalankanmakaakanmenghasilkanhasilsebagaiberikut1 BAHASA C2 BAHASA C3 BAHASA C4 BAHASA C5 BAHASA C6 BAHASA C7 BAHASA C8 BAHASA C 11
  12. 12. 9 BAHASA C10 BAHASA CPadaperulangan while di atas, proses atauperintahmencetak kata-kata “BAHASAC” akanterusdilakukanselamavariabel x masihkurangatausamadengan 10. Setiapkali 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. 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 yangletaknya di atassementarapadaperulangan do....while, seleksi while berada dibawahbatasperulangan. Jadidenganmenggunakanstruktur do…while sekurang-kurangnyaakanterjadisatu kali perulangan.Contoh Program 4 :#include “stdio.h” 13
  14. 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 yangtelahdiketahuijumlahperulangannya. Dari segipenulisannya, strukturperulanganfortampaknyalebihefisienkarenasusunannyalebihsimpeldansederhana.Bentukumumperulangan for adalahsebagaiberikut:for(inisialisasi; syarat; penambahan)pernyataan;Keterangan :Inisialisasi:pernyataanuntukmenyatakankeadaanawaldarivariabelkontrol.syarat:ekspresirelasi yang menyatakankondisiuntukkeluardariperulangan.penambahan:pengaturperubahannilaivariabelkontrol. 14
  15. 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. 16. r=t/i;printf("n Rata rata : %.2f",r);getch();}2.4. PERNYATAAN BREAK2.5. PERNYATAAN CONTINUE2.6. NESTED LOOP BAB III ARRAY3.1. ARRAY DIMENSI SATUSetiapelemen array dapatdiaksesmelaluiindeks.Indeks array secara default dimulaidari 0.Deklarasi ArrayBentukumum : Tipe_arraynama_array[ukuran];Contoh : Nilai[0] Nilai[1] Nilai[2] Nilai[3] Nilai[4] intNilai[5]; 70 80 82 60 75Contoh Program 1 : 16
  17. 17. /*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 arraymenyatakanjumlah string.Contoh Program 2 :/*Program u/ menentukan jurusan & jenjang mahasiswa berdasarkan NIM*/#include <stdio.h> 17
  18. 18. #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
  19. 19. { strcpy(jenjang,”Diploma-3”);}elseprintf(“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 5main(){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. 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 DUAArray dua dimensi merupakan array yang terdiri dari m buah baris dan n buahkolom.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 3dengan 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. 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. 22. }}/******** 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
  23. 23. Contoh aplikasi Array untuk menghitung invers suatu matriks dengan ukuran m xn 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. 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. 25. printf(" n");}getch();}3.3. ARRAY MULTI-DIMENSIArray multi-dimensi merupakan array yang mempunyai ukuran lebih dari dua.Bentuk pendeklarasian array sama saja dengan array dimensi satu maupun arraydimensi 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

×