Algoritme dan Pemrograman

dokumen-dokumen yang mirip
a[0] a[1] a[2] a[3] a[4] a[5] x

Algoritme dan Pemrograman

12/29/2011 ILKOM IPB 1. Algoritme dan Pemrograman. Address and Pointers. Pointer

Algoritme dan Pemrograman

ALGORITMA & PEMROGRAMAN II ARRAY

12/29/2011 ILKOM IPB 1. Algoritme dan Pemrograman. Fungsi. Fungsi. y = f (x) = x m = jumlah ( a, b ) = a + b

Bab 9 Pointer. 9.1 Pendeklarasian pointer

Algoritma dan Pemrograman. Loop control structures: WHILE. Loop control structures: WHILE Perhatikan potongan program berikut: 12/29/2011

Algoritme dan Pemrograman

Struktur Kontrol Perulangan (Loop) Algoritme dan Pemrograman. Struktur Kontrol Perulangan: while. Struktur Kontrol Perulangan: while

BAB XI ARRAY (LARIK)

1. Mempelajari konsep dasar array, array ganda, pengiriman array ke fungsi dan string 2. Membuat program menggunakan array, array ganda

Pengumuman Pekan ke- 5

Kisi- kisi UTS- P. Kisi- kisi UTS- T

Algoritme dan Pemrograman

Algoritma Pemrograman 2B (Pemrograman C++)

BAB V, VI ARRAY, STRING

BAB I. LARIK (ARRAY) Array (larik) ialah penampung sejumlah data sejenis (homogen) yang menggunakan satu identifier (pengenal).

BAGIAN A. PILIHAN GANDA Silanglah Jawaban yang Benar Pada Lembar Jawaban. Jawaban benar bernilai 3, salah atau kosong bernilai 0.

Bahasa C melengkapi fasilitas modular dengan menggunakan fungsi pada setiap SubProgram. Contoh pembagian program menjadi beberapa subprogram.

Fungsi DASAR PEMROGRAMAN

ALGORITMA DAN STRUKTUR DATA POINTER DAN FUNCTION

Algoritma dan Pemrograman Tahar Agastani Teknik Informatika UIN

Algoritme dan Pemrograman

ARRAY / LARIK. Oleh : Agus Priyanto, M.Kom SEKOLAH TINGGI TEKNOLOGI TELEMATIKA TELKOM. Smart, Trustworthy, And Teamwork

KONSEP DASAR. menyusunnya menjadi potongan-potongan mudah untuk ditangani dibanding. conquer.

Pertemuan 2 ARRAY DIMENSI 1 & 2

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-2 Array (Larik)

VI. FUNGSI. Fungsi Main ( ) Fungsi a ( ) Fungsi b ( ) Fungsi c ( ) Fungsi c1 ( ) Fungsi c2 ( ) Fungsi c3 ( ) Bentuk umumnya :

E STRUKTUR DATA & E PRAKTIK STRUKTUR DATA. Pointer & Function. Alfa Faridh Suni, S.T., M.T. PTIK

ALUR PROGRAM. SELEKSI KONDISI Statement If a. Bentuk If tunggal sederhana Sintaks : if ( kondisi ) statement ;

Algoritma & Pemrograman #10

Pointer. Yuliana Setiowati

PRAKTIKUM 9 ARRAY. ARRAY BERDIMENSI SATU Suatu array berdimensi satu dideklarasikan dalam bentuk umum berupa :

Algoritma & Pemrograman FUNGSI. Pengampu : Agus Priyanto, M.Kom SEKOLAH TINGGI TEKNOLOGI TELEMATIKA TELKOM. Smart, Trustworthy, And Teamwork

OPERASI PERNYATAAN KONDISI

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

MODUL. Pointer. Modul Praktikum C++ Dasar Pemrograman Komputer JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

Array dan Matriks. IF2121 / Algoritma dan Struktur Data Sem / /7/2017 IF2121/sem /2018 1

Fungsi DASAR PEMROGRAMAN

Penger6an struct. Algoritme dan Pemrograman. Cara membuat struct. Deklarasi struct. Pointer pada struct 12/10/14 ILKOM IPB 1

Pert 2 Struktur Data (mengajarkomputer.wordpress.com) ARRAY DIMENSI 1 & 2

MATRIKS. Algoritma dan Pemrograman Tahar Agastani Teknik Informatika UIN Overview

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER STMIK AMIKOM YOGYAKARTA

ARRAY DIMENSI 1 & 2. Array dapat didefinisikan sebagai suatu himpunan hingga elemen yang terurut dan homogen.

Seluruh elemen di dalam struktur array mempunyai tipe data yang sama. Random Access

Algoritme dan Pemrograman

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET BAHASA PEMROGRAMAN Fungsi : Passing Parameter by Value & Semester 3

Konsep Pemrograman. Bab 13. Pointer 3. Konsep Pemrograman Politeknik Elektronika Negeri Surabaya 2006 PENS-ITS. Umi Sa adah

12/29/2011 ILKOM IPB 1. Algoritme dan Pemrograman. Review Latihan Slide 10. Review Latihan Slide 10

A. TUJUAN 1. Memecah program dalam fungsi fungsi yang sederhana. 2. Menjelaskan tentang pemrograman terstruktur.

POINTER DASAR PEMROGRAMAN

A R R A Y. Bentuk umum deklarasi array : type nama_array[ukuran] tipe : menyatakan tipe dasar array ukuran : menyatakan banyaknya elemen pada array

DIKTAT MATA KULIAH PEMROGRAMAN I BAB VII ARRAY

PRAKTIKUM 7 FUNGSI 1

Fungsi : Dasar Fungsi

Algoritma & Pemrograman #9. by antonius rachmat c, s.kom, m.cs

DIKTAT MATA KULIAH PEMROGRAMAN I BAB XI POINTER

Array ARRAY BERDIMENSI SATU. Representasi (Pemetaan) di memori. Lihat gambar dibawah ini, nilai data A (18) dismpan mulai dari alamat 1136 di memori.

BAHASA PEMROGRAMAN 1 (PERTEMUAN 3)

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

Pertemuan 2 ARRAY DIMENSI 1 & 2

Function nama dipisahkan

ARRAY. Karakteristik

IT234 - Algoritma dan Struktur Data. Ramos Somya

BAB VI ARRAY PADA PEMROGRAMAN JAVA

Minggu ke-11 Fungsi (Function)

Function. Contoh function 1 : // function example #include <stdio.h> int addition (int a, int b){ int r; r=a+b; return (r); }

Fungsi, Parameter, Rekursi

ARRAY PENGANTAR PROGRAM STUDI. Institut Teknologi Sumatera

MODUL 5 SUBPROGRAM / FUNGSI


IT234 - Algoritma dan Struktur Data. Ramos Somya

Array LOGO. Pendidikan Teknik Elektronika FT UNY. Muh. Izzuddin Mahali, M.Cs.

MODUL 10 Fungsi 10.1 Kompetensi 10.2 Alat Dan Bahan: 10.3 Ulasan Teori: Dasar Fungsi Deklarasi Fungsi

A. TUJUAN 1. Menjelaskan tentang prinsip dasar fungsi. 2. Menjelaskan tentang.parameter formal dan parameter aktual

Fungsi (Function) Pendahuluan. Objektif. Bahan Bacaan

FUNGSI & PROSEDUR. Pertemuan ke-12 dan 13

MODUL IV ARRAY DAN STRUCTURE

PERTEMUAN V PEMROGRAMAN TERSTRUKTUR DENGAN VISUAL C Setiap bahasa C mempunyai satu fungsi dengan nama main (program utama).

Pengenalan Array. Array Satu Dimensi

Fungsi 1 DASAR PEMROGRAMAN

Array DASAR PEMROGRAMAN

Minggu ke-14 Typedef, Struct & Command Line Argument

PRAKTIKUM 11 POINTER 1

Larik/ Array int a1, a2, a3, a4, a5;

Pemrograman Dasar C. Minggu 6

Array 1 A. TUJUAN PEMBELAJARAN

MODUL PRAKTIKUM. MODUL I - VIII Modul penuntun dan bahan praktikum matakuliah algoritma dan pemograman

Pointer. Pointer adalah variabel yang menyimpan alamat dari variabel yang lainnya. Deklarasi pointer : datatype *ptr_name; Contoh:

PENGENALAN BAHASA C. A. Struktur Kode Program dalam Bahasa C Secara garis besar, suatu kode program dalam bahasa C memiliki struktur umum seperti ini:

Pemrograman Dasar A R R A Y

IT234 ALGORITMA DAN STRUKTUR DATA FUNGSI

POINTER I. Oleh : Mike Yuliana PENS-ITS

Algoritma dan Struktur Data. Ramos Somya

BAB 6 FUNGSI TUJUAN PRAKTIKUM

Kurikulum Qt. { Basic OOP } Chapter 4. Function

UJIAN TENGAH SEMESTER GANJIL TAHUN STMIK AMIKOM YOGYAKARTA

MAKALAH POINTER PADA BAHASA C

Transkripsi:

Algoritme dan Pemrograman Kuliah #8 Array Program Menghitung Rataan 3 Nilai int nilai1, nilai2, nilai3; float rataan; int 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"); Masalah: Bagaimana menghitung rata-rata dari 100 nilai? ILKOM IPB 1

Program Menghitung Rataan 100 Nilai #include<stdio.h> int nilai1, nilai2, nilai3,,nilai100; float rataan; int 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"); Apa yang terjadi????? Variabel yang dideklarasikan banyak Langkah yang dijalankan banyak Risiko kesalahan penulisan tinggi Solusi gunakan variabel berindeks!! ILKOM IPB 2

Array Dalam matematika dikenal variabel berindeks x 0, x 1, x 2,, x n-1. Angka 0, 1, 2,, n-1 pada variabel x disebut sebagai indeks atau subscript. Variabel berindeks diimplementasikan dalam program berupa array x[0], x[1], x[2],, x[n- 1], dengan n adalah ukuran array. Selang nilai yang valid bagi indeks suatu variabel array berukuran n adalah 0 sampai dengan n-1. Array Definisi: kumpulan elemen bertipe data sama yang diakses dengan nama yang sama Deklarasi: data-type array-name[size]; Array dapat dibedakan menjadi: Array berdimensi satu (1D) vektor di Matematika Array berdimensi dua (2D) matriks di Matematika Array berdimensi banyak Elemen array disimpan di memori secara berurutan ILKOM IPB 3

Array satu dimensi (1D) Contoh: int a[5]; float x[10]; int d[3]={0; int c[]={-45, 6, 0, 72, 1543; Alokasi memori Indeks: 0, 1, 2,, size-1 Jika mengakses indeks di luar selang, maka akan diperoleh data lain. Contoh: int a[6]; int x; data lain a[0] a[1] a[2] a[3] a[4] a[5] x data lain ILKOM IPB 4

Alokasi memori Array harus dideklarasikan terlebih dahulu. Array dapat dideklarasikan secara global di luar fungsi main, maupun secara lokal di dalam suatu fungsi. Mengisi masukan ke array int a[100]; int i; scanf("%d", &n); // baca banyaknya data // membaca masukan dan disimpan ke array for (i=0; i<n; i++) scanf("%d", &a[i]); printf("%d\n", a[n/2]); // akses isi array Contoh masukan: 3 20 34 21 ILKOM IPB 5

Keluaran? int a[3], b[4] ={4,5,2,3; int c[] = {3,2,1, d[4] = {0; int e[5] = {1, f[5]; printf("%d %d %d\n", a[0], b[1], c[2]); printf("%d %d %d\n", d[3], e[4], f[5]); Menghitung jumlah isi array #define SIZE 5 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 ); ILKOM IPB 6

Akses array di luar batas indeks int a[5] = {1, 3, 5, 4, 7; printf("%d\n", a[6] ); Apakah terjadi error pada saat di-compile atau di-run? Mengapa hal tersebut terjadi? Latihan 1. Program untuk menghitung rata-rata nilai dalam suatu array 2. Program untuk menentukan keberadaan suatu nilai dalam suatu array 3. Program untuk menentukan nilai maksimum dan minimum dalam suatu array ILKOM IPB 7

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 pada fungsi pemanggilnya (call by reference) (dibahas dalam topik pointer). Contoh deklarasi array dalam fungsi: int printarray(int n, int a[n]) { Perhatikan bahwa parameter n harus disebut sebelum a[n] Fungsi Mencetak Elemen Array void printarray(int n, int a[n]); // atau: void printarray(int n, int a[]); int x[5] = {1,4,2,-3,9; printarray(x,5); void printarray(int n, int a[n]) { int i; for (i=0; i<n; i++) printf("%d ", a[i]); ILKOM IPB 8

Pengiriman Array 1D ke Fungsi Dimensi array 1D pada function header tidak harus dinyatakan void printarray(int a[], int n) atau void printarray(int a[*], int n) Jika dimensi tidak dinyatakan, tidak harus muncul setelah parameter penampung dimensi (n pada contoh) Ukuran array menjadi parameter (n pada contoh) Tipe void digunakan jika fungsi tidak mengembalikan suatu nilai Serupa dengan prosedur dalam terminologi bahasa pemrograman lain Fungsi Menjumlahkan Elemen Array int sumarray(int a[], int a); int x[5] = {1,4,2,-3,9; printf("%d", sumarray(x,5)); int sumarray(int a[], int n) { int i, sum = 0; for (i=0; i<n; i++) sum+=a[i]; return sum; ILKOM IPB 9

Fungsi Membalik Elemen Array void fliparray(int a[], int n) { int i, temp; for (i=0; i<n/2; i++){ temp = a[i]; a[i] = a[n-i-1]; a[n-i-1] = temp; Ekstra: tiga baris yang ditebalkan melakukan pertukaran nilai. Bagaimanakah cara melakukan pertukaran dua nilai integer tanpa menggunakan variabel/penampung tambahan. Keluaran? int x[] = {5,2,-1,7,-3; printarray(5, x); fliparray(x, 5); printarray(5, x); fliparray(x, 3); printarray(5, x); ILKOM IPB 10

Array dua dimensi (2D) Dapat disepadankan dengan matriks Array yang terdiri atas array Contoh: int b[][] = {{2,4,1, {5,3,7; float x[3][4]; Array 2D: Membaca matriks mxn int a[100][100]; int i, j,m,n; // minta dimensi masukan scanf("%d %d", &m, &n); // membaca elemen matriks for (i=0; i<m; i++) for (j=0; j<n; j++) scanf("%d", &a[i][j]); ILKOM IPB 11

Array 2D di memori Elemen berurutan di memori Misal: int a[2][3] Seperti array 1D berapa elemen? data lain a[0][0] a[0][1] a[0][2] a[1][0] a[2][1] a[3][2] x data lain Keluaran? int x[5][4],i,j,k=1; for(i=0;i<5;i++) for(j=0;j<4;j++) x[i][j]=k++; printarray(20, x); ILKOM IPB 12

Pengiriman Array 2D ke Fungsi Dimensi kedua untuk array 2D pada function header harus dinyatakan: a[m][n], a[*][*], a[][*], atau a[][n] Ukuran array menjadi parameter (m dan n pada contoh) Array 2D dapat dikirim ke fungsi yang mengharapkan array 1D Ingat array 2D = array yang elemennya adalah array Elemen 2D juga berurutan Perhatikan fungsi berikut yang dimaksudkan mencetak matrix #define M 100 #define N 100 void printmatrix0 (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]); printf((n-1)==j? "\n" : " "); ILKOM IPB 13

Keluaran? #define M 100 #define N 100 int x[5][4],i,j,k=1; for(i=0;i<5;i++) for(j=0;j<4;j++) x[i][j]=k++; printmatrix0(x, 5, 4); Bandingkan dengan void printmatrix1 (int m, int n, int a[m][n]) { int i, j; for (i=0; i<m; i++) for (j=0; j<n; j++) { printf("%d", a[i][j]); printf((n-1)==j? "\n" : " "); ILKOM IPB 14

atau #define M 100 #define N 100 void printmatrix2 (int a[m][n], int m, int n) { int i=0, j=0, x = m*n; while (x--) { printf("%d", a[i][j]); j++; if(j==n) (j=0, i++); printf(0==(j%n)? "\n" : " "); Catatan Fungsi printmatrix1 dan printmatrix2 hanya benar untuk mencetak semua elemen array 2D Misal a[2][4]: 1 2 3 4 5 6 7 8 Mencetak dengan m = 2 dan n = 3: 1 2 3 4 5 6 Bukan: 1 2 3 5 6 7 ILKOM IPB 15

Fungsi memutar matriks void putar (int m, int n, int a[m][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]; Keluaran? Perhatikan fungsi berikut: void misteri(int a[size], int n) { if (n) { printf("%d\n", a[n-1]); misteri(a, n-1); Apa keluaran potongan program berikut: int x[size]={2, 4, 5, 3, 1; misteri(x, 5); ILKOM IPB 16

Cetak zigzag Buat program membaca matriks 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 Hitung elemen 1 Buat program membaca matriks a berukuran mxn yang elemen matriksnya 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 ILKOM IPB 17