Bab 1 Array 1 Dimensi
Click here to load reader
-
Upload
zidna-nayla-hidayati -
Category
Documents
-
view
155 -
download
17
description
Transcript of Bab 1 Array 1 Dimensi
Pemrograman Dasar
Copy Right @Syaiful Anam Matematika UB
Pemrograman Dasar
Tipe Array: 1 Dimensi
Syaiful Anam, S.Si, MT, Ph.DZuraidah Fitriah, S.Si, M.Si
Program Studi Matematika UB
Pemrograman Dasar
Pemrograman Dasar
Array
• Array adalah deretan variable yang berjenis sama dan mempunyai nama sama.
• Pada C, array mempunyai lokasi bersebelahan. Alamat terkecil menunjuk ke elemen pertama dan alamat terbesar menunjuk ke elemen terakhir.
• Sebuah elemen pada array diakses melalui indexnya.
• String merupakan array dari karakter.
Pemrograman Dasar
Pemrograman Dasar
Bentuk Umum deklarasi array :
• tipe nama_array[ukuran];
• ukuran : menyatakan banyaknya elemen pada array.
• tipe : menyatakan tipe dasar array.
• Contoh• int A[100],B[100];
Pemrograman Dasar
Pemrograman Dasar
Contoh 1.1.
• int A[10];• Hal ini menyatakan array A mempunyai 10 elemen, yaitu:
•A[0]•A[1]•.•A[9]•Untuk array 1 dimensi, rumus ukuran total array dalam
satuan byte adalah :• byte total = ukuran tipe dasar x banyak elemen• Pada contoh diatas :• byte total=2 * 10 = 20 byte• Variable bertipe int memerlukan tempat sebesar 2 byte.
Pemrograman Dasar
Pemrograman Dasar
Contoh 1.2. Memasukkan n buah data
• Masukkan Banyak Data: 4
• Data ke 1: 5• Data ke 2: 6• Data ke 3: 7• Data ke 4: 8
Pemrograman Dasar
Pemrograman Dasar
Flowchart
• =>
InputBykdata
Start
i=1
i<=bykdata
InputA[i]
i=i+1
yaStop
tidak
Pemrograman Dasar
Pemrograman Dasar
Contoh 1.2. Memasukkan data sebanyak n buah
• #include <stdio.h>• #include <conio.h>• #include <windows.h>• void gotoxy(short x, short y) {• COORD pos = {x, y};• SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),
pos);• }• main()• {• int bykdata,i;• float a[100];• printf("Masukkan Banyak Data:");• scanf("%d",&bykdata);
Pemrograman Dasar
Pemrograman Dasar
Lanjutan
• for(i=0;i<bykdata;i++)• {• gotoxy(3,2+i); printf(“Data ke %d:“,i+1);• scanf("%f",&a[i]);• }• }
Pemrograman Dasar
Pemrograman Dasar
Contoh 1.3. Mencari rata-rata data sebanyak n buah
• Masukkan Banyak Data: 4
• Data ke 1: 5• Data ke 2: 6• Data ke 3: 7• Data ke 4: 8• Jum = 0• Jum = Jum+ 5 =0+5• Jum = Jum+ 6 = (0+5) +6• Jum= Jum +7 = (0+5+6) +7• Jum = Jum +8 =(0+5+6+7) +8 = 26• Rata=Jum /bykdata= 26/4
Pemrograman Dasar
Pemrograman Dasar
Lanjutan
• #include <stdio.h>• #include <conio.h>• #include <windows.h>• void gotoxy(short x, short y) {• COORD pos = {x, y};• SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos);• }• main()• {• int bykdata,i;• float a[100],jum,rata;• printf("Masukkan Banyak Data:");• scanf("%d",&bykdata);
Pemrograman Dasar
Pemrograman Dasar
Lanjutan
• for(i=0;i<bykdata;i++)• {• gotoxy(3,2+i); printf("Data ke %d:",i+1);• scanf("%f",&a[i]);• }• • jum=0;• for(i=0;i<bykdata;i++)• jum=jum+a[i];• • rata=jum/bykdata;• printf("Rata-ratanya adalah %5.2f",rata);
• }
Pemrograman Dasar
Pemrograman Dasar
Contoh 1.4. Mencari nilai maksimum sebanyak n buah
• Masukkan Banyak Data: 4
• Data ke 1: 5• Data ke 2: 6• Data ke 3: 7• Data ke 4: 3• Maks=data ke 1 = 5• Apakah Maks < Data ke 2 ? Jika ya maka ganti Maks dengan data ke 2 (
Maks= Data ke 2=6). Jika tidak nilainya tidak diganti.• Apakah Maks < Data ke 3 ? Ya maka ganti Maks dengan data ke 3
( Maks= Data ke 3=7)• Apakah Maks < Data ke 2 ? Tidak sehingga nilai Maks tetap 7
Pemrograman Dasar
Pemrograman Dasar
Lanjutan
• #include <stdio.h>• #include <conio.h>• #include <windows.h>• void gotoxy(short x, short y) {• COORD pos = {x, y};• SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos);• }• main()• {• int bykdata,i;• float a[100],maks;• printf("Masukkan Banyak Data:");• scanf("%d",&bykdata);•
Pemrograman Dasar
Pemrograman Dasar
Lanjutan
• for(i=0;i<bykdata;i++)• {• gotoxy(3,2+i); printf("Data ke %d:",i+1);• scanf("%f",&a[i]);• }• • maks=a[0];• for(i=1;i<bykdata;i++)• if (maks<a[i])• maks=a[i];• • printf("Nilai maksimum dari data adalah %5.2f",maks);
• }
Pemrograman Dasar
Pemrograman Dasar
Contoh 1.5. Memasukkan data siswa (nama, nilai) dan menghitung rata-rata nilainya. Jika nama diisi
dengan X maka pengisian data selesai
• #include <conio.h>• #include <stdio.h>• #include <stdlib.h>• main()• {• char nama[25][20],strinput[10];• float jumnilai=0,rata,nilai[25];• int jumsis,i=0;
• printf("\n Nama siswa (X=selesai) :");• gets(nama[i]);
Pemrograman Dasar
Pemrograman Dasar
Lanjutan
• while(nama[i][0]!='X')• {• printf("\n Nilai Ujian : ");• gets(strinput);• nilai[i]=atof(strinput);• jumnilai += nilai[i];• i +=1;• printf("\n Nama siswa (X=selesai) :");• gets(nama[i]);• }• jumsis=i;• rata=jumnilai/jumsis;• printf("\n Rata-rata nilai : %6.2f",rata);• }
Pemrograman Dasar
Pemrograman Dasar
Latihan Soal
1.) Buatlah flowchart dan program untuk mencari data terkecil dari n data yang dimasukkan!
2.) Buatlah pseudocode dan program untuk mencari range dari n data yang dimasukkan!
3) Buatlah pseudocode dan program untuk mencari standar deviasi dari n data yang dimasukkan!
Pemrograman Dasar
Pemrograman Dasar
Operasi Vektor
• Jika n adalah sebuah bilangan bulat positif, maka tuple n terorde (ordered-n-tuple) adalah sebuah urutan bilangan riil (a1, a2,..., an). Himpunan semua tuple n terorde dinamakan ruang-n dan dinyatakan dengan Rn.
• • Bila n=2 atau 3, maka biasanya digunakan istilah
pasangan terode atau triple terorde dan bukannya tuple-2-terorde atau tuple-3-terorde. Untuk n=1 cukup ditulis R bukan R1.
Pemrograman Dasar
Pemrograman Dasar
Operasi Vektor
• Penjumlahan vektor• Dua vektor u=(u1, u2,..., un) dan v=(v1, v2,..., vn) pada Rn dinamakan
sama jika• u1=v1, u2=v2,...,un=vn
• Jumlah u+v didefinisikan oleh• u+v=(u1+ v1, u2+ v2,..., un+ vn)• dan jika k adalah sebarang skalar, maka perkalian skalar ku
didefinisikan oleh• ku=(ku1, ku2,..., kun)• Contoh • Penjumlahan dari vektor u=(-1,3,5,7) dan v=(5,-4,7,0) pada R4
adalah u+v =(4,-1,12,7)
Pemrograman Dasar
Pemrograman Dasar
Lanjutan
• Dot product• Jika u=(u1, u2,..., un) dan v=(v1, v2,..., vn) adalah sebarang
vektor pada Rn, maka dot product u dan v yaitu u.v didefinisikan dengan
• u.v=u1 v1+ u2 v2+...+ un vn
• • Contoh • Dot product dari vektor u=(-1,3,5,7) dan v=(5,-4,7,0)
pada R4 adalah u.v =(-1) 5 + 3 (-4) +5 (7) +7 (0) =18
Pemrograman Dasar
Pemrograman Dasar
Norm Vektor dan Jarak Dua Vektor
Norm Vektor Norma Euclidis (atau panjang Euclidis) vektor u=(u1, u2,..., un) pada Rn didefinisikan oleh
222
21
21
...).( nuuuuuu
Jarak dua buah vektor Jarak Eulidis di antara titik u=(u1, u2,..., un) dan v=(v1, v2,..., vn) pada Rn didefinsikan oleh
2222
211 )(...)()(),( nn vuvuvuvuvud
Pemrograman Dasar
Pemrograman Dasar
Contoh
=======================================
Contoh Diketahui vektor u=(-1,3,5,7) dan v=(5,-4,7,0) pada R4 Carilah norma u dan d(u,v)
84)7()5()3()1().( 222221
uuu
90)07()75())4(3()51(),( 2222 vuvud
Pemrograman Dasar
Pemrograman Dasar
Contoh 1.6 Penjumlahan Vektor
• #include <stdio.h>• #include <conio.h>• #include <windows.h>• void gotoxy(short x, short y) {• COORD pos = {x, y};• SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos);• }• main()• {• int dim,i;• float a[100],b[100],c[100];• printf("Masukkan Dimensi Vektor:");• scanf("%d",&dim);• printf("\nVektor A: \n");• for(i=0;i<dim;i++)• {• gotoxy(3,3+i);scanf("%f",&a[i]);• }•
Pemrograman Dasar
Pemrograman Dasar
Lanjutan• printf("Vektor B: \n");• for(i=0;i<dim;i++)• {• gotoxy(3,4+i+dim);scanf("%f",&b[i]);• }• printf("Vektor A+B: \n");• for(i=0;i<dim;i++)• { • c[i]=a[i]+b[i];• gotoxy(3,5+i+2*dim);printf("%5.2f",c[i]);• }• }
Pemrograman Dasar
Pemrograman Dasar
Latihan ()
• Buatlah psudocode , flowchart dan program untuk operasi irisan dua himpunan dimasukkan!
• Buatlah psudocode , flowchart dan program untuk menggabungkan dua himpunan dimasukkan!
• Buatlah psudocode , flowchart dan program untuk mengurutkan n data yang dimasukkan !
• Buatlah psudocode , flowchart dan program untuk menggurutkan n data yang dimasukkan !
• Buatlah psudocode , flowchart dan program untuk mencari median dari n data yang dimasukkan !
• Buatlah psudocode , flowchart dan program untuk mencari modus dari n data yang dimasukkan !
Pemrograman Dasar
Pemrograman Dasar
Latihan
• Buatlah psudocode , flowchart dan program untuk mencari norm dari suatu vektor
• Buatlah psudocode , flowchart dan program untuk mencari jarak antara dua vektor
Pemrograman Dasar
Blog: http://syaifulmath.lecture.ub.ac.id/E-mail: [email protected]
facebook: https://www.facebook.com/shaifuru.anamufacebook page: https://www.facebook.com/syaifulanam.math.ub?ref=hl
Instagram: https://instagram.com/shaifuru/