Algoritme dan Pemrograman

Slides:



Advertisements
Presentasi serupa
ARRAY.
Advertisements

ARRAY STATIS DAN DINAMIS
PERTEMUAN II ARRAY JURUSAN TELEKOMUNIKASI
Pointer. Output? #include int x = 2; void misteri(int a, int b) { a = 2*x; b = y; y = a; } main() { int y; x = 5; y = 7; misteri(x, y); printf("%d %d\n",
ARRAY (Lanjutan).
ARRAY Dr. Lily Wulandari.
ARRAY.
Praktikum Struktur Data
Review-Dasar Pemrograman Komputer
Array dan String Array dan String.
Algoritme dan Pemrograman
Algoritma dan Struktur Data
Array dan String.
Teknik Pemrog. Terstruktur 2
Array, POINTER dan FUNGSI
1. Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu :  Mendemonstrasikan penggunaan fungsi serta pengiriman parameter 2.
Bab 6 ARRAY Riyanto Sigit Dasar Array  Array adalah kumpulan dari nilai-nilai data bertipe sama dalam urutan tertentu yang menggunakan sebuah.
Fungsi, Array dan String
Algoritme dan Pemrograman
ARRAY Array merupakan struktur data yang sering digunakan dalam pemrograman untuk menyimpan data yang akan diolah.
PEMROGRAMAN DASAR.
Tipe Data Lecture 8.
Oleh : Agus Priyanto, M.Kom Norma Amalia, M.Eng
Array/Larik.
Algoritme dan Pemrograman
Pertemuan 4 PROGRAMMING LANGUAGE.
ARRAY (Array Dua Dimensi) Pertemuan 16 Dasar Pemrograman
Perulangan (looping) BERSARANG & ARRAY
Algoritme dan Pemrograman
Looping, Percabangan dan Array
Konsep Pemrograman Array
ARRAY.
Contoh-contoh Pemecahan Masalah TEE 2103 Algoritma & Pemograman
Fungsi TEE 2103 Algoritma & Pemrograman Dosen: Abdillah, MIT
Fungsi Rekursif Algoritma dan Pemrograman II Teknik Informatika
Algoritme dan Pemrograman
Struktur Data Khoiriya Latifa, M.Kom.
ARRAY (LARIK).
PEMROGRAMAN DASAR (BAHASA C)
PERTEMUAN 9 Algoritma Presented by : Sity Aisyah, M.Kom
Remainder Senin depan mulai UTS Praktikum
Latihan #0 Dengan menggunakan pernyataan looping WHILE dan jumlah instruksi sesedikit mungkin, tuliskan cuplikan program (bukan program lengkap, hanya.
Struktur Data Khoiriya Latifa, M.Kom.
Algoritme dan Pemrograman
ARRAY 1d MERISKA DEFRIANI, S.KOMP ALGORITMA DAN PEMROGRAMAN II
ALGORITMA & STRUKTUR DATA I
Algoritma dan Struktur Data
FUNGSI.
FUNCTION 6.3 & 7.3 NESTED LOOP.
Pemograman Terstruktur
Algoritma dan Struktur Data
Perulangan (looping) BERSARANG & ARRAY
Algoritma dan Struktur Data
Multidimensional Array
Algoritma dan Struktur Data
Soal-soal Pengulangan
Looping, Percabangan dan Array
Algoritme dan Pemrograman
Algoritma dan Struktur Data
Array (Larik) Pertemuan ke-6 Bahasa C.
Praktikum KBP 2 Array.
Algoritme dan Pemrograman
Algoritma Pemrograman
Algoritme dan Pemrograman
array Array merupakan tipe data yang menampung
Konsep Pemgrograman LARIK.
ARRAY 2d (matriks) MERISKA DEFRIANI, S.KOMP
Algoritma Pemrograman
Penjumlahan dua buah MATRIX. Penjumlahan dua buah MATRIX.
ARRAY.
Transcript presentasi:

Algoritme dan Pemrograman Kuliah #8 Array ILKOM IPB

Program Menghitung Rataan 3 Nilai #include<stdio.h> int nilai1, nilai2, nilai3; float rataan; void main() { printf (“Masukkan nilai 1 :”);scanf(“%d”,&nilai1); printf (“Masukkan nilai 2 :”);scanf(“%d”,&nilai2); printf (“Masukkan nilai 3 :”);scanf(“%d”,&nilai3); rataan = (nilai1 + nilai2 + nilai3) / 3; if (nilai1>rataan) printf(“nilai1”); if (nilai2>rataan) printf(“nilai2”); if (nilai3>rataan) printf(“nilai3”); } Pertanyaan: Apa yang terjadi jika nilai yang dihitung ada 100 nilai ?

Program Menghitung Rataan 100 Nilai #include<stdio.h> int nilai1, nilai2, nilai3,…,nilai100; float rataan; void main() { printf (“Masukkan nilai 1 :”);scanf(“%d”,&nilai1); printf (“Masukkan nilai 2 :”);scanf(“%d”,&nilai2); printf (“Masukkan nilai 3 :”);scanf(“%d”,&nilai3); : : printf (“Masukkan nilai 100 :”);scanf(“%d”,&nilai100); rataan = (nilai1 + nilai2 + nilai3+…+nilai100) / 100; if (nilai1>rataan) printf(“nilai1”); if (nilai2>rataan) printf(“nilai2”); if (nilai3>rataan) printf(“nilai3”); if (nilai100>rataan) printf(“nilai100”); }

Solusi gunakan Variabel berindeks !! Apa yang terjadi ????? Variabel yang dideklarasikan  banyak Langkah yang dijalankan  banyak Solusi gunakan Variabel berindeks !!

DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR Array Dalam matematika dikenal variabel berindeks x0, x1, x2, …, xn-1. Angka 0, 1, 2, …, n-1 pada variabel x disebut sebagai indeks atau subscript. Variabel berindeks diimplementasikan dalam program berupa variabel array x[0], x[1], x[2], …, x[n-1], dimana n adalah ukuran array. Selang nilai yang valid bagi indeks suatu variabel array berukuran n adalah 0 sampai dengan n-1. DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR ILKOM IPB

DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR Array Definisi: kumpulan nilai dengan tipe data yang sama yang menggunakan nama sama. Deklarasi: data-type variable-name[size]; Array dapat dibedakan menjadi: Array berdimensi satu (1D)  vektor di Matematika Array berdimensi dua (2D)  matriks di Matematika Array berdimensi banyak DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR ILKOM IPB

Array : Berdimensi satu (1D) Contoh: int a[5]; float x[10]; int d[3]={0}; int c[]={-45, 6, 0, 72, 1543}; DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR ILKOM IPB

DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR Alokasi memori data lain Indeks array : 0, 1, 2, …, size-1 Jika mengakses indeks di luar selang, maka akan diperoleh data lain. Contoh: int a[6]; int x; a[0] a[1] a[2] a[3] a[4] a[5] x data lain DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR ILKOM IPB

DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR Alokasi memori Array harus dideklarasikan terlebih dahulu. Array dapat dideklarasikan secara global di luar fungsi main, maupun secara lokal di dalam suatu fungsi. DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR ILKOM IPB

Contoh #1: Menghitung jumlah isi array #include <stdio.h> #define SIZE 5 main() { int a[SIZE] = { 1, 3, 5, 4, 7}; int i, total = 0; for (i=0; i<SIZE; i++) total += a[i]; printf("%d\n", total ); return 0; } DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR ILKOM IPB

Contoh #2: Akses array di luar batas indeks #include <stdio.h> main() { int a[5] = {1, 3, 5, 4, 7}; printf("%d\n", a[6] ); return 0; } Apakah terjadi error pada saat di-compile atau di-run? Mengapa hal tersebut terjadi? DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR ILKOM IPB

Contoh #3: Mengisi array dari user #include <stdio.h> main() { int a[100]; int i; scanf("%d", &n); // baca banyaknya data // membaca nilai data dan disimpan ke dalam array for (i=0; i<n; i++) scanf("%d", &a[i]); printf("%d\n", a[n/2]); // contoh akses isi array return 0; } Contoh input data: 3 20 34 21 DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR ILKOM IPB

DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR Array dua dimensi (2D) Dapat disepadankan dengan matriks. Contoh: int b[][] = {{2, 4, 1}, {5, 3, 7}}; float x[3][4]; DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR ILKOM IPB

Array dua dimensi (2D) :: Membaca matrik ukuran mxn dari user int a[100][100]; int i, j; scanf("%d %d", &m, &n); // ukuran matrik // membaca elemen matrik for (i=0; i<m; i++) for (j=0; i<n; j++) scanf("%d", &a[i][j]); DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR ILKOM IPB

Array sebagai argumen fungsi Seperti variabel lainnya, array juga dapat digunakan sebagai argumen dari fungsi. Nilai variabel array yang didekrasikan sebagai parameter fungsi akan mempengaruhi nilai variabel array yang memanggilnya (call by reference  akan dibahas pada kuliah berikutnya). Contoh deklarasi array dalam fungsi: void transpose(int a[], int b[]) { … } Memanggil fungsi (contoh): transpose(x, y); DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR ILKOM IPB

Contoh #4: Fungsi menulis bentuk matrik /* Fungsi menulis matrik A ukuran mxn M dan N telah didefinisikan sebelumnya */ void tulis(int a[M][N], int m, int n) { int i, j; for (i=0; i<m; i++) for (j=0; j<n; j++) { printf("%d", a[i][j]); if (j==n-1) printf("\n"); else printf(" "); } DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR ILKOM IPB

Contoh #5: Fungsi memutar matrik /* Fungsi memutar matrik A ukuran mxn menjadi matrik B (ukuran nxm) M dan N telah didefinisikan sebelumnya */ void putar(int a[M][N], int m, int n, int b[N][M]) { int i, j; for (i=0; i<m; i++) for (j=0; j<n; j++) b[j][i]=a[i][j]; } DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR ILKOM IPB

DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR Latihan #1 Perhatikan fungsi berikut: void misteri(int a[SIZE], int n) { if (n) { printf("%d\n", a[n-1]); misteri(a, n-1); } Apa output potongan program berikut: int x[SIZE]={2, 4, 5, 3, 1}; misteri(x, 5); 1 3 5 4 2 DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR ILKOM IPB

DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR Latihan #2 Buat program membaca matrik a berukuran mxn dan menampilkannya secara zigzag seperti skema berikut: Contoh input (baris pertama adalah m dan n): 4 4 1 3 2 1 8 4 3 2 1 2 3 4 9 8 7 6 Contoh output: 1 3 2 1 2 3 4 8 1 2 3 4 6 7 8 9 #include <stdio.h> main() { int a[100][100],b[100][100],i,j,m,n; scanf("%d %d",&m,&n); for (i=0;i<m;i++){ for (j=0;j<n;j++) scanf("%d",&a[i][j]); } if (i%2==0) { printf("%d ",a[i][j]); } else { for (j=n-1;j>=0;j--) getche(); return 0; DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR ILKOM IPB

DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR for (i=0; i<n; i++) { if(i%2!=0) for (j=n-1;j≤0;j--) printf(“ %d”,a[i][j]); } else for (j=0; j<m; j++) DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR Latihan #3 Buat program membaca matrik a berukuran mxn dimana elemen matrik adalah {0,1}, dan menampilkan banyaknya elemen 1 pada setiap kolomnya. Contoh input (baris pertama adalah m dan n): 4 4 1 0 1 1 0 0 0 0 0 0 0 1 1 1 1 1 Contoh output: 2 1 2 3 #include <stdio.h> main(){ int n,m,i,baris,kolom,isi[100][100],counter[100]; scanf ("%d %d",&n,&m); for (baris=0;baris<n;baris++) { for (kolom=0;kolom<m;kolom++) scanf("%d",&isi[baris][kolom]);} for (kolom=0;kolom<m;kolom++) { counter[kolom]=0; if (isi[baris][kolom]==1) counter[kolom]++; }} for (i=0;i<m;i++) { printf("%d ",counter[i]);} getche(); return 0; } DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR ILKOM IPB