Anda di halaman 1dari 29

Pemrograman Dasar

Pemrograman
Dasar

Tipe Array:
Array 1 Dimensi

Syaiful Anam, S.Si, MT, Ph.D


Program Studi Matematika UB

Copy Right @Syaiful Anam


Matematika UB
Pemrograman Array
Dasar

• Array adalah deretan variable yang berjenis sama


dan mempunyai nama sama.
• 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 Bentuk Umum deklarasi array :
Dasar

• tipe nama_array[ukuran];

• ukuran : menyatakan banyaknya elemen pada


array.
• tipe : menyatakan tipe dasar array.

• Contoh
• int A[100],B[100];
Pemrograman Contoh 1.1.
Dasar

• 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 Contoh 1.2. Memasukkan n buah data
Dasar

• Masukkan Banyak Data: 4

• Data ke 1: 5 => input A[1] Input bykdata


• Data ke 2: 6 => input A[2] For i=1 to bykdata do
input A[i]
• Data ke 3: 7 => input A[3] Next i
• Data ke 4: 8 => input A[4]
Pemrograman Flowchart
Dasar

• => Start

Input
Bykdata

i=1

tidak
i<=bykdata
ya
Stop
Input
A[i]

i=i+1
Contoh 1.2. Memasukkan data
Pemrograman
Dasar 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_HAN
DLE), pos);
• }
• main()
• {
• int bykdata,i;
• float a[100];
• printf("Masukkan Banyak Data:");
• scanf("%d",&bykdata);
Pemrograman Lanjutan
Dasar

• for(i=0;i<bykdata;i++)
• {
• gotoxy(3,2+i); printf(“Data ke %d:“,i+1);
• scanf("%f",&a[i]);
• }
• }
Contoh 1.3. Mencari rata-rata data
Pemrograman
Dasar sebanyak n buah
• Masukkan Banyak Data: 4
Input bykdata
• Data ke 1: 5 disimpan dalam A For i=1 to bykdata do
• Data ke 2: 6 input A[i]
• Data ke 3: 7 Jum=0
Next i
• Data ke 4: 8 Jum=Jum+A[1]
Jum=0
• Jum = 0 Jum=Jum+A[2]
For i=1 to bykdata do
• Jum = Jum+ 5 =0+5 Jum=Jum+A[3]
Jum=Jum+A[i]
• Jum = Jum+ 6 = (0+5) +6 Jum=Jum+A[4] Next i
• Jum= Jum +7 = (0+5+6) +7 Rata=Jum/bykdata
• Jum = Jum +8 =(0+5+6+7) +8 = 26 Cetak Rata
• Rata=Jum /bykdata= 26/4
Pemrograman Flowchart
Dasar

A
Start
tidak
Input i<=bykdata
Bykdata
ya Rata=jum/bykdata
i=1 Jum=jum+A[i]
Cetak
tidak i=i+1 Rata
i<=bykdata
ya Jum=0, i=1 Stop
Input
A[i]
A
i=i+1
Pemrograman Lanjutan
Dasar

• #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
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 Mencari Nilai Maksimum
Dasar

A[5]
A[1]
A[3]

A[2]

A[4]

Manakah apel yang paling besar?


Contoh 1.4. Mencari nilai maksimum
Pemrograman
Dasar 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 Lanjutan
Dasar

• #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 Lanjutan
Dasar

• 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);

• }
Contoh 1.5. Memasukkan data siswa (nama, nilai)
Pemrograman dan menghitung rata-rata nilainya. Jika nama diisi
Dasar 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 Lanjutan
Dasar

• 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 Latihan Soal
Dasar

1.) Buatlah flowchart dan program untuk mencari


data terkecil dari n data yang dimasukkan!
2.) Buatlah flowchart dan program untuk mencari
range dari n data yang dimasukkan!
3) Buatlah pseudocode dan program untuk mencari
absolut terbesar dari n data yang dimasukkan!
misal data : 4,-7,3,-4,5 maka outputnya:-7
Pemrograman Operasi Vektor
Dasar

• 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 Operasi Vektor
Dasar

• 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 Lanjutan
Dasar

• 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 Norm Vektor dan Jarak Dua Vektor
Dasar

Norm Vektor
Norma Euclidis (atau panjang Euclidis) vektor u=(u1, u2,..., un) pada Rn didefinisikan
oleh
1
u  (u.u )  u12  u 22  ...  u n2
2

Jarak dua buah vektor


Jarak Eulidis di antara titik u=(u1, u2,..., un) dan v=(v1, v2,..., vn) pada Rn didefinsikan
oleh

d (u, v)  u  v  (u1  v1 ) 2  (u 2  v2 ) 2  ...  (u n  vn ) 2


Pemrograman Contoh
Dasar

===================================
Contoh
Diketahui vektor u=(-1,3,5,7) dan v=(5,-4,7,0) pada R4
Carilah norma u dan d(u,v)
1
u  (u.u )  (1) 2  (3) 2  (5) 2  (7) 2  84
2

d (u, v)  u  v  (1  5) 2  (3  (4)) 2  (5  7) 2  (7  0) 2  90


Pemrograman Contoh 1.6 Penjumlahan Vektor
Dasar

• #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 Lanjutan
Dasar
• 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 Latihan ()
Dasar

• Buatlah psudocode , flowchart dan program untuk operasi irisan


dua himpunan dimasukkan!
• Buatlah psudocode , flowchart dan program untuk mengurutkan
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 Latihan
Dasar

• 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: syaifulanam2000@yahoo.com
facebook: https://www.facebook.com/shaifuru.anamu
facebook page: https://www.facebook.com/syaifulanam.math.ub?ref=hl
Instagram: https://instagram.com/shaifuru/

Anda mungkin juga menyukai