LOOPING, PERCABANGAN DAN ARRAYAlgoritma dan Struktur DataChristine Dewi S.Kom.
LOOPING (PERULANGAN)Pengertian LoopingBeberapa instruksi diulang untuk suatu jumlah pengulangan yang tertentu.Jumlah pengulangan dapat diketahui sebelumnya atau ditentukan dalam perjalanan program.
Kegunaan LoopingMeringkas algoritma (atau program) dengan mengotomatisasi perintah-perintah yang sama yang dikerjakan berulang-ulang.Struktur loop sangat efektif karena dapat menyingkat puluhan (bahkan mungkin ratusan hingga ribuan baris kode) menjadi beberapa baris perintah saja.
JENIS-JENIS LOOP DALAM BAHASA Cfor Loopwhile Loopdo while Loop
FORFormatfor (inisialisasi; kondisi; increment/decrement){statement;}Contoh:printf(It is fun!\n);printf(It is fun!\n);printf(It is fun!\n);printf(It is fun!\n);printf(It is fun!\n);printf(It is fun!\n);printf(It is fun!\n);printf(It is fun!\n);printf(It is fun!\n);printf(It is fun!\n);
for (n=0; n
WHILEFormat:while (boolean expression){statement;}
Contoh:while (n
DO WHILEFormat:do {statement;}while (boolean expression);
Contoh:do {printf(It is fun!\n); }while (n
NESTED LOOP
/* Program Segitigaa */#include int n;void main(){
printf("n = ");scanf("%d",&n);
printf("\n");for(int i=1;i
CONTOH.??????
i/j123411111222233344
CONTOH.JAWAB :/* Program Segitigaa */#include int n;void main(){printf("n = ");scanf("%d",&n);printf("\n");for(int i=1;i=i ; j--) {printf(" %d",i);}printf(" \n");}
}
Baris = iKolom = ji= 1 j=4 4>=1 ? Ya cetak i = 1 j--
j=3 3 >=1 ? Ya cetak i = 1 j--
j=2 2>=1 ? Ya cetak i = 1 j--
j=1 1>=1 ? Ya cetak i = 1 j--
j=0 0>=1 ? Tidak keluar i++
i= 2 j=4 4>=2 ? Ya cetak i = 2 j--
j=3 3 >=2 ? Ya cetak i = 2 j--
j=2 2>=2 ? Ya cetak i = 2 j--
j=1 1>=2 ? keluar i++
i/j123411111222233344
i= 3 j=4 4>=3 ? Ya cetak i = 3 j--
j=3 3 >=3 ? Ya cetak i = 3 j-- j=2 2 >=3 ? Tidak keluar i++i= 4 j=4 4 >=4 ? Ya cetak i = 4 j-- j=5 5 >=5 ? Tidak Selesai.i= 1 j=4 4>=1 ? Ya cetak i = 1 j--
j=3 3 >=1 ? Ya cetak i = 1 j--
j=2 2>=1 ? Ya cetak i = 1 j--
j=1 1>=1 ? Ya cetak i = 1 j--
j=0 0>=1 ? Tidak keluar i++
i= 2 j=4 4>=2 ? Ya cetak i = 2 j--
j=3 3 >=2 ? Ya cetak i = 2 j--
j=2 2>=2 ? Ya cetak i = 2 j--
j=1 1>=2 ? keluar i++
OUTPUTNYA :
1111222334
PERCABANGANPernyataan yang dipakai untuk mengambil keputusan berdasarkan suatu kondisi. Bentuk pernyataan ini ada dua macam :ifif elseswitch case
Format if:
Format if-else:if (kondisi) {pernyataan;}if(kondisi) { pernyataan1;}else { pernyataan2;}if(kondisi1) { Pernyataan1;}else if(kondisi2) { Pernyataan2;}else if(kondisi3) { Pernyataan3;}else { pernyataan4;}
SWITCHSwitch(ungkapan){ case ungkapan1: pernyataan1; break; case ungkapan2: pernyataan2; break; ........ default: pernyataanDefault}
ARRAYSejauh ini program yang kita pelajari masih sangat terbatas, karena statement assignment hanya berupa pemberian satu nilai pada satu variabel Padahal sering kali kita perlu untuk meng-assign ataupun memanipulasi banyak nilai ke sekelompok variabelSebagai contoh jika anda membuat program yang membaca 10 nilai percobaan untuk dihitung nilai rata-rata-nya, akan sangat lucu jika kita menghitungnya dengan cara berikut: rata_rata = (x1 + x2 + x3 + x4 + x5 + + dst )/10.
TRY THIS..#include
void main(){ int jumlah = 0; float rata2 = 0; int angka1; int angka2; printf("Masukkan Angka1 = "); scanf("%d",&angka1); jumlah += angka1; printf("\nangka1 = %d ",angka1); printf("\njumlah = %d ",jumlah); printf("\nMasukkan Angka2 = "); scanf("%d",&angka2); jumlah += angka2; printf("\nangka2 = %d ",angka2); printf("\njumlah = %d ",jumlah); rata2 = jumlah/2; printf("\nRata-rata = %f",rata2);
}
SOLUSI == MENGGUNAKAN ARRAYArray: adalah kumpulan data bertipe sama yang menggunakan nama sama.
Dengan menggunakan array, sejumlah variabel dapat memakai nama yang sama.
Antara satu variabel dengan variabel lain di dalam array dibedakan berdasarkan subscript.
Sebuah subscript berupa bilangan di dalam kurung siku.
MACAM-MACAM ARRAYArray 1 DimensiArray 2 DimensiArray 3 Dimensi
ARRAY 1 DIMENSIDeklarasi Array (1D, 2D dan 3D):Tipe data elemen arrayNama arrayJumlah elemen array
Deklarasi 1 Dimensi:tipe_data nama_larik[ukuran];
Contoh deklarasi Array 1 Dimensi:int val[ 5 ];//declaration
ASSIGNMENT PADA ARRAY 1 DIMENSICara 1:val[0] = 5;val[1] = 10;val[2] = 15;val[3] = 20;val[4] = 25;
Cara 2:int val[5] = {5,10,15,20,25};
CONTOHContoh array integer 1D bernama n yg memiliki 5 elemen, n[0] = 1, n[1] = 3, n[2] = 5, n[3] = 7, n[4] = 9 dideklarasikan sbb: int n[5] = {1,3,5,7,9};
Akses Indeks pada Array
Perhatikan index-nya, jangan sampai terjadi Error karena akses index yang tidak ada.
TRY THIS(1)#include
void main(){ int jumlah = 0; float rata2 = 0; int angka[5];angka[0]=0;angka[1]=1;angka[2]=2;angka[3]=3;angka[4]=4;jumlah = angka[0]+angka[1]+angka[2]+ angka[3]+ angka[4];
rata2 = jumlah/5; printf("Rata-rata = %4.2f",rata2);
}manual
TRY THIS(2)#include
void main(){ int jumlah = 0; float rata2 = 0; int angka[5];
for(int i=0;i
TRY THIS(3)Inisialisasi langsung
ARRAY 2 DIMENSIMerupakan array yang terdiri dari m buah baris dan n buah kolom.
Bentuknya dalam matriks atau tabel.
Deklarasi Array 2 Dimensi:TipeData Nama_array[subscript_baris][ subscript_kolom]
CONTOHint X[3][4];
AKSES ARRAY 2 DIMENSIMisal ingin mengisi elemen array baris 2 kolom 3 dengan nilai 10, maka perintahnya:X[1][2] = 10;
TRY THIS.. (1)
TUGAS TAKE HOMEBuatlah program array Bahasa C.User harus menginputkan elemen matriks-nya.Tugas kelompok 2 orang.Kumpulkan softcopy email [email protected] yang berisi kode program, printscreen output.Subyek : ASDG_nim_nimBatas kumpul 23 januari 2012.Terlambat potong nilai = 50%.Copy paste/mayoritas sama nilai = 0!!;
OUTPUT
OUTPUT
OUTPUT
See u next week
***