IT234 -Algoritma dan Struktur Data int n[5] = {1,3,5,7,9}; Akses Indeks pada Array Perhatikan...

Post on 17-Mar-2018

231 views 2 download

Transcript of IT234 -Algoritma dan Struktur Data int n[5] = {1,3,5,7,9}; Akses Indeks pada Array Perhatikan...

IT234 - Algoritma dan Struktur Data

Ramos Somya

Pengertian Looping Beberapa instruksi diulang untuk suatu jumlah pengulangan yang

tertentu.

Jumlah pengulangan dapat diketahui sebelumnya atau ditentukandalam perjalanan program.

Kegunaan Looping Meringkas 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) menjadibeberapa baris perintah saja.

for while do while

Format:for (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<10; n++) {

printf(“It is fun!\n”);

}

Format:while (boolean expression){

statement;

}

Contoh:while (n<10) {

printf(“It is fun!\n”);

}

Format:do {

statement;}while (boolean expression);

Contoh:do {

printf(“It is fun!\n”); }while (n<10);

/* Program Segitigaa */#include <stdio.h>int n;void main(){

printf("n = ");scanf("%d",&n);

printf("\n");for(int i=1;i<=n;i++) {

for(int j=1; j<=i ; j++) {printf("*");

}printf("\n");

}

}

Pernyataan yang dipakai untuk mengambil keputusan berdasarkan suatu kondisi. Bentuk pernyataan ini ada dua macam : if

if – else

switch 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;}

#include<stdio.h>

void main()

{

int nilai;

printf("Masukkan nilai Anda (10-100) = ");

scanf("%i",&nilai);

if(nilai>60) {

printf("Anda Lulus");

} else {

printf("Anda tidak Lulus");

}

}

Switch(ungkapan){

case ungkapan1:pernyataan1;break;

case ungkapan2:pernyataan2;break;

........default:

pernyataanDefault}

#include<stdio.h>

void main()

{

char nilai;

printf("Masukkan Nilai Anda (A, B, C, D atau E) = ");

scanf("%c",&nilai);

switch(nilai){

case 'A':

printf("Sangat Baik");

break;

case 'B':

printf("Baik");

break;

case 'C':

printf("Cukup");

break;

default:

printf("Anda Sebaiknya Mengulang!");

}

}

#include<stdio.h>void main(){char nilai;printf("Masukkan Nilai Anda (A, B, C, D atau E) = ");scanf("%c",&nilai);

if(nilai == 'A'){printf("Sangat Baik");

} else if(nilai == 'B'){printf("Baik");

} else if(nilai == 'C'){printf("Cukup");

} else {printf("Anda Sebaiknya Mengulang!");}}

• Sejauh ini program yang kita pelajari masih sangatterbatas, karena statement assignment hanya berupapemberian satu nilai pada satu variabel

• Padahal sering kali kita perlu untuk meng-assign ataupunmemanipulasi banyak nilai ke sekelompok variabel

• Sebagai contoh jika anda membuat program yangmembaca 100 nilai percobaan untuk dihitung nilai rata-rata-nya, akan sangat lucu jika kita menghitungnyadengan cara berikut: rata_rata = (x1 + x2 + x3 + x4 + x5 + +dst )/100.

#include<stdio.h>

void main(){int jumlah = 0;float rata2 = 0;int angka1;int angka2;………. angka100;

printf("Masukkan Angka1 = ");scanf("%d",&angka1);jumlah += angka1;printf("Masukkan Angka2 = ");scanf("%d",&angka2);jumlah += angka2;…rata2 = jumlah/100;printf("Rata-rata = %4.2f",rata2);

}

Array: adalah kumpulan data bertipe sama yangmenggunakan nama sama.

Dengan menggunakan array, sejumlah variabel dapatmemakai nama yang sama.

Antara satu variabel dengan variabel lain di dalam arraydibedakan berdasarkan subscript.

Sebuah subscript berupa bilangan di dalam kurung siku.

Array 1 Dimensi Array 2 Dimensi Array 3 Dimensi

Deklarasi Array (1D, 2D dan 3D):

– Tipe data elemen array

– Nama array

– Jumlah elemen array

Deklarasi 1 Dimensi:tipe_data nama_larik[ukuran];

Contoh deklarasi Array 1 Dimensi:

int val[ 5 ]; //declaration

Cara 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};

• Contoh array integer 1D bernama n yg memiliki 5 elemen,n[0] = 1, n[1] = 3, n[2] = 5, n[3] = 7, n[4] = 9 dideklarasikansbb:

– 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.

#include<stdio.h>void main(){int nilai[5] = {70, 80, 82, 60, 75};printf("\nIsi elemen ke-1 : %d", nilai[0]);printf("\nIsi elemen ke-2 : %d", nilai[1]);printf("\nIsi elemen ke-3 : %d", nilai[2]);printf("\nIsi elemen ke-4 : %d", nilai[3]);printf("\nIsi elemen ke-5 : %d", nilai[4]);}

#include<stdio.h>

void main(){int jumlah = 0;float rata2 = 0;int angka[5];

for(int i=0;i<5;i++){printf("Masukkan Angka ke %d = ",i);scanf("%d",&angka[i]);jumlah += angka[i];

}rata2 = jumlah/5;printf("Rata-rata = %4.2f",rata2);

}

Merupakan array yang terdiri dari m buah baris dan n buahkolom.

Bentuknya dalam matriks atau tabel.

Deklarasi Array 2 Dimensi:TipeData Nama_array[subscript_baris][ subscript_kolom]

int X[3][4];

Misal ingin mengisi elemen array baris 2 kolom 3 dengan nilai 10, maka perintahnya:X[1][2] = 10;

for ( baris=1 ; baris<=3 ; baris++){

for ( kolom=1 ; kolom<=3 ; kolom++){

printf("\tMasukan matrik elemen [%d,%d] = ",baris,kolom);scanf("%d",&matrik[baris][kolom]);

}}

Output:

Menampilkan Isi Array 2 Dimensi:

for ( baris=1 ; baris<=3 ; baris++){

for ( kolom=1 ; kolom<=3 ; kolom++){

printf("\tMatrik elemen [%d,%d] = %d",baris,kolom,matrik[baris][kolom]);

}printf("\n");

}

Hasil:

Dalam bentuk matriks:printf("\tMatrik yant telah diinput adalah : \n");for ( baris=1 ; baris<=3 ; baris++){

for ( kolom=1 ; kolom<=3 ; kolom++){

printf("\t%d",matrik[baris][kolom]);}printf("\n");

}

Output:

Buatlah 2 buah array, misal array A dan array B dengantipe integer.

User dapat menentukan ukuran array A dan kemudianmemasukkan data pada array A tersebut.

Setelah data dimasukkan, lakukan operasi berikut:a) Salin / copy semua elemen array A ke dalam array B.

b) Salin / copy semua elemen array A ke dalam array B denganurutan dibalik.

c) Salin / copy semua elemen array A ke dalam array B tapi yangbilangan genap lebih besar 0 saja.

d) Salin / copy semua elemen array A ke dalam array B tapi yangbilangan genap lebih besar 0 saja dan urut indeks.

Kerjakan secara berkelompok maksimal 2 mahasiswa. Dikumpulkan minggu depan saat kuliah dalam bentuk

hardcopy. Sertakan kode program, output program dan beri

penjelasan secukupnya. Copy paste nilai = 0. Kerjakan sendiri sebisanya.