Larik / Array
Pengertian
• Array merupakan kumpulan koleksi data
• Array berdasarkan atas tipe data yang sama
• Serta menghemat penggunaan variabel (nama variabel yang
sama)
• SYNTAX
Type data Variabel[banyak]
Contoh :
int nilai[11];
char nama[25][11];
• Jika banyak tidak diketahui, maka banyak ditentukan dari
nilai maksimal, misalnya 100;
Menginput var array
• Menginput isi kedalam var array, dilakukan dengan cara
menambah indeks array setelah variable
• Misalnya ingin menginput nim di indeks ke 5, maka
perintahnya adalah scanf(“%s”,&nim[5]);
• Jika ingin menginput n banyak data, berurutan mulai dari
indeks 0 sampai ke – n, maka inputan dilakukan
menggunakan pengulangan
printf(“Banyak data: “);scanf(“%d”,&n); //input banyaknya
data
for (i=0;i<n;i++) {
printf(“Nim ke %d:”,i+1);scanf(“%s”,&nim[i]);
}
Mencetak var array
• Contoh penggunaan array, dalam 1 variable hari
• Char hari[10]
[7]={“Senin”,”Selasa”,”Rabu”,”Kamis”,”Jumat”,”Sabtu”,”Minggu”}
• Indeks hari[0]=“Senin”, hari[1]=“Selasa”, dst
• Jika ingin mencetak semua hari dalam var maka harus menggunakan
pengulangan, yang minimal banyaknya pengulangan adalah jumlah banyak
isi var array
• Seperti:
char hari[10]
[7]={"Senin","Selasa","Rabu","Kamis","Jumat","Sabtu","Minggu"};
int i;
for (i=0; i<=6;i++){
printf("indeks ke %d : %s\n",i,hari[i]);
}
Praktikum
Menghitung nilai akhir dan index
mahasiswa, yang terdiri dari inputan: nim,
nama, tugas, uts, uas
Dengan bentuk seperti:
Lat_array.cpp
#include<conio.h> //proses menghitung nilai akhir dan index
#include<stdio.h> for (i=0;i<n;i++){
main(){ na[i]=0.50*uas[i]+0.30*uts[i]+0.20*tugas[i];
char nim[8][100], nama[50][100], index[100]; if(na[i]>=80) index[i]='A';
float tugas[100],uts[100],uas[100],na[100]; else if(na[i]>=68) index[i]='B';
int i,n; else if(na[i]>=56) index[i]='C';
puts("Program mencari nilai akhir dengan array"); else if(na[i]>=45) index[i]='D';
else index[i]='E';
puts("============================== }
==========");
//mencetak keluaran
printf("Banyaknya data: ");scanf("%d",&n);
puts("No Nim Nama Tugas UTS UAS
//input data-data Nilai Akhir Index");
for (i=0;i<n;i++){
printf("Data ke - %d\n",i+1); puts("==============================
printf("Nim: ==================================
");fflush(stdin);scanf("%s",&nim[i]); =");
printf("Nama: for (i=0;i<n;i++){
");fflush(stdin);scanf("%s",&nama[i]); printf("%d %s %s %0.2f %0.2f %0.2f
printf("Nilai tugas: %0.2f %c\
");fflush(stdin);scanf("%f",&tugas[i]); n",i+1,nim[i],nama[i],tugas[i],uts[i],uas[i],na[i],index[i]);
printf("Nilai uts:
");fflush(stdin);scanf("%f",&uts[i]); }
printf("Nilai uas: getch();
");fflush(stdin);scanf("%f",&uas[i]); }
puts("");
}
Array 2 dimensi
Bagaimana jika bentuk array 2 dimensi??
• char nim[8][100];
• int n,x,y,i[10][100];
• Variabel i berbentuk array 2 dimensi
• Jika 1 dimensi menggunakan 1x
pengulangan, maka di bentuk 2 dimensi
menggunakan 2x pengulangan
Latihan
1. Mencari suatu bilangan dari 5 bilangan yang
telah diinputkan (Searching)
2. Mengurutkan nilai uts dari terbesar ke terkecil
(desc) dari 5 buah inputan nilai
1. Nilai UTS: 65 <input>
2. Nilai UTS: 67 <input>
3. Nilai UTS: 80 <input>
4. Nilai UTS: 76 <input>
5. Nilai UTS: 77 <input>
Tugas
• Kanza Distro meminta untuk dibuatkan program sederhana
untuk perhitungan penjualan barang, adapun ketentuannya
adalah sebagai berikut:
*)Jika ada pembelian lain maka input kembali
Jika tidak ada maka cetak transaksi