SlideShare a Scribd company logo
ARRAY (LARIK)
algoritma dan dasar pemrograman
LARIK
• Larik adalah kumpulan dari nilai-nilai bertipe
sama dalam urutan tertentu yang
menggunakan sebuah nama yang sama.
• Nilai-nilai di suatu larik disebut dengan
elemen-elemen larik.
• Letak urutan dari suatu elemen larik
ditunjukkan oleh suatu subscript atau suatu
index.
LARIK
• Larik dapat berdimensi satu, dua, tiga, atau
lebih.
• Larik dimensi satu (one-dimensional array)
mewakili bentuk suatu vektor.
• Larik dimensi dua (two-dimensional array)
mewakili bentuk dari suatu matrik atau tabel.
• Larik dimensi tiga (three-dimensional array)
mewakili bentuk suatu ruang.
DEKLARASI LARIK
• Larik dideklarasikan dengan menyebutkan jumlah dari
elemennya yang ditulis di antara tanda ‘[]’. Contohnya:
int X[5]; //larik dimensi satu dengan nama X yang
dideklarasikan dengan tipe data int yang
mempunyai 5 buah elemen.
• Elemen-elemen dari larik X ini adalah:
X[0], X[1], X[2], X[3], dan X[4]
• Misalkan suatu variabel integer I bernilai 3, maka variabel
ini dapat digunakan sebagai indeks dari larik, yaitu X[I] yang
berarti menunjukkan elemen larik ke – 4 atau X[3].
• Untuk Bahasa C, elemen pertama dari suatu larik dimulai
dengan indeks nol.
DEKLARASI LARIK
• Deklarasi dapat juga langsung dengan memberikan nilai-nilai awal
elemen lariknya. Misalnya Vektor X berikut ini:
X = {5, 3, 7}
Vektor ini dapat dideklarasikan sebagai larik dimensi satu dengan
jumlah elemen 3 dengan nilai-nilai elemennya 5, 3, dan 7, seperti
berikut ini:
int X[3] = {5, 3, 7};
Nilai-nilai elemen larik ini adalah:
X[0] bernilai 5
X[1] bernilai 3
X[2] bernilai 7
Misalnya nilai elemen ke – 1 akan dikalikan dengan nilai elemen ke
– 3, maka dapat ditulis X[0] * X[2] dengan hasilnya adalah 35.
BEDA LARIK DENGAN VARIABEL BIASA
• Perbedaan utama antara larik dengan variabel biasa
adalah sebuah larik dapat mempunyai sejumlah nilai,
sedangkan sebuah variabel biasa hanya dihubungkan
dengan sebuah nilai saja.
• Misalnya terdapat tiga buah nilai, yaitu 8, 5, dan 7. Jika
nilai-nilai ini akan dihubungkan dengan sebuah nama
saja, maka dapat digunakan sebuah larik. Jika
digunakan variabel untuk menyimpan nilai-nilai
tersebut, maka harus digunakan tiga buah variabel
dengan nama-nama yang berbeda, misalnya variabel
X1 untuk menyimpan nilai 8, variabel X2 untuk nilai 5,
dan variabel X3 untuk nilai 7.
/* ----------------------------------------------------
Nama Program: ADP_Larik_1.cpp
Perbedaan Larik dengan Variabel Biasa
------------------------------------------------------ */
#include <stdio.h>
#include <stdlib.h>
main()
{
float X1=5, X2=3, X3=7, Total;
printf("Contoh Program Menghitung Tiga Buah Nilain");
printf("yang Disimpan pada Tiga Variabeln");
printf("____________________________________n");
printf("___________________________n");
printf("n");
Total = X1 + X2 + X3;
printf("Total = %.2fn", Total);
printf("n");
system("pause");
}
Hasil Eksekusi
BEDA LARIK DENGAN VARIABEL BIASA
• Contoh ADP_Larik_2.cpp pada slide
sebelumnya hanya praktis jika digunakan
untuk menjumlahkan nilai dari 3 variabel saja.
Tetapi jika jumlah variabel yang akan
dijumlahkan > 3, misalnya 1000, maka akan
lebih jika menggunakan larik untuk mewakili
nilai-nilai tersebut, seperti terlihat pada
contoh berikut ini.
/* ----------------------------------------------------
Nama Program: ADP_Larik_2.cpp
Perbedaan Larik dengan Variabel Biasa
------------------------------------------------------ */
#include <stdio.h>
#include <stdlib.h>
main()
{
float X[3]={5,3,7}, Total=0;
int I;
printf("Contoh Program Menghitung Tiga Buah Nilai ");
printf("yang Disimpan pada Tiga Variabeln");
printf("____________________________________");
printf("___________________________n");
printf("n");
for(I=0;I<=2;I++) Total = Total + X[I];
printf("Total = %.2fn", Total);
printf("n");
system("pause");
}
Hasil Eksekusi
INISIALISASI LARIK TIDAK BERUKURAN
• Dalam mendeklarasikan larik dengan
memberikan nilai-nilai elemen awalnya,
jumlah dari elemen larik dapat ditulis ‘[]’. Larik
seperti ini disebut dengan larik yang tidak
berukuran.
• Perhatikan contoh pada slide berikut dimana
larik dimensi satu X yang mempunyai nilai-
nilai elemen 5, 2, dan 7 dideklarasikan dengan
tidak berukuran.
/* ---------------------------------------------
Nama Program: ADP_Larik_3.cpp
Inisialisasi Larik Tidak Berukuran
--------------------------------------------- */
#include <stdio.h>
#include <stdlib.h>
main()
{
float X[]={5,3,7}, Total=0;
int I;
printf("Contoh Program Inisialisasi Larik Tidak Berukurann");
printf("________________________________________n");
printf("n");
for(I=0;I<=2;I++) Total = Total + X[I];
printf("Total = %.2fn", Total);
printf("n");
system("pause");
}
Hasil Eksekusi
INISIALISASI LARIK TIDAK BERUKURAN
• Untuk larik tidak berukuran ini, bahasa C akan
secara otomatis menentukan ukuran (jumlah
elemen dari lariknya) tergantung dari jumlah
nilai-nilai elemen yang diberikan sewaktu
deklarasi.
• Pada contoh di slide sebelumnya jumlah nilai-
nilai elemen yang diberikan adalah sebanyak 3
buah, sehingga larik X tersebut dapat juga
dikatakan mempunyai 3 buah elemen.
INISIALISASI LARIK TIDAK BERUKURAN
• Permasalahan sering kali muncul jika programer
belum mengetahui jumlah dari elemen-elemen
lariknya.
• Permasalahan seperti ini sering terjadi untuk
suatu program yang menggunakan suatu larik
dengan jumlah elemennya ditentukan oleh
pemakai program, atau dengan kata lain, jumlah
elemen dari larik tidak ditentukan di dalam
program, tetapi ditentukan setelah program
dijalankan.
INISIALISASI LARIK TIDAK BERUKURAN
• Untuk mengatasi permasalahan seperti ini, jumlah elemen
dari larik dapat ditentukan terlebih dahulu di dalam
program secara maksimum dengan batasan memori yang
digunakan masih mencukupi. Misalnya jumlah elemen dari
larik ditentukan terlebih dahulu sebesar 1000 buah.
Pemakai program kemudian ditanyakan jumlah elemen
larik yang sebenarnya dengan batasan jumlah elemen
maksimumnya adalah sebanyak yang telah ditentukan di
dalam program. Misalny pemakai program hanya
menggunakan sebanyak 200 elemen larik saja, maka sisi
elemen yang telah ditentukan di dalam program tidak akan
digunakan, walaupun sudah “dipesankan” tempatnya di
dalam memori.
INISIALISASI LARIK TIDAK BERUKURAN
• Program berikut ini akan menghitung nilai total, rata-
rata dan deviasi standar (penyimpangan baku atau
standard deviation) dari sejumlah nilai data.
• Program ini mengijinkan pemakai program untuk
menentukan jumlah dari data. Jumlah dari data ini
menunjukkan jumlah dari elemen.
/* -----------------------------------------------
Nama Program: ADP_Larik_4.cpp
Inisialisasi Larik Tidak Berukuran
----------------------------------------------- */
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
main()
{
int N, I;
float X[1000], Total=0, Rata, Xi_Rata_2=0, SD;
printf("Contoh Program Untuk Menghitung Nilai Rata-rata ");
printf("dan deviasi standarn");
printf("_________________________________________");
printf("___________________n");
printf("n");
//Masukan jumlah dari data
printf("Masukkan Jumlah Data (Maksiumum 1000 buah): ");
scanf("%d", &N);
printf("n");
//Masukan nilai data ke 0 sampai dengan ke N-1
//dan hitung nilai totalnya
for(I=0;I<N;I++){
printf("Nilai Data ke - %d : n",I+1);
scanf("%f", &X[I]);
Total = Total + X[I];
}
//Hitung nilai rata-ratanya
Rata = Total / N;
//Hitung Nilai (Xi - Rata)^2
for(I=0;I<N;I++)
Xi_Rata_2 += ((X[I] - Rata) * (X[I] - Rata));
//Hitung Deviasi Standar
SD = sqrt(Xi_Rata_2 / N);
//Tampilkan hasil
printf("n");
printf("Jumlah Data : %dn", N);
printf("Total Nilai : %.2fn", Total);
printf("Rata-rata Nilai : %.2fn", Rata);
printf("Deviasi Standar : %.2fn", SD);
system("pause");
}
Hasil Eksekusi
LARIK DIMENSI SATU
• Program berikut untuk menampikan bilangan
dari 1 sampai bilangan 10, dengan pangkatnya
masing-masing. Batas nilai maksimum yang
disimpan adalah 100.
/* ------------------------------------------
Nama Program: ADP_Larik_5_Dimensi_Satu.cpp
Larik Dimensi Satu
------------------------------------------ */
#include <stdio.h>
#include <stdlib.h>
main()
{
int square[100];
int I;
int K;
printf("Contoh Program Perhitungan Perpangkatann");
printf("_________________________________________");
printf("n");
//Penghitungan perpangkatan
for(I=0;I<10;I++){
K = I + 1;
square[I] = K*K;
printf("nPangkat dari %d adalah %d", K, square[I]);
}
printf("n");
printf("n");
system("pause");
}
Hasil Eksekusi
LARIK DIMENSI DUA
• Program berikut untuk menunjukkan
bagaiman suatu larik dimensi dua
dideklarasikan dan ditampilkan nilai-nilai
elemennya dalam bentuk matrik.
/* ----------------------------------------------------------------
Nama Program: ADP_Larik_6_Dimensi_Dua.cpp
Larik Dimensi Dua
---------------------------------------------------------------- */
#include <stdio.h>
#include <stdlib.h>
main()
{
int I,J;
float X[3][4] = {
10.00, 20.00, 30.00, 40.00,
15.55, 25.55, 35.55, 45.55,
25.00, 35.00, 45.00, 55.00
};
printf("Contoh Program Larik Dimensi Duan");
printf("____________________________n");
printf("n");
//Menampilkan dalam bentuk matrik
for(I=0;I<3;I++){
for(J=0;J<4;J++) printf("%8.2f", X[I][J]);
printf("n");
}
printf("n");
system("pause");
}
Hasil Eksekusi
LARIK DIMENSI DUA
• Program berikut untuk menghitung perkalian
dua buah matrik, dimana perkalian dua buah
matrik dapat dilakukan jika banyaknya kolom
matrik pertama adalah sama dengan
banyaknya baris matrik yang kedua.
/* --------------------------------------------------------------------
Nama Program: ADP_Larik_6a_Dimensi_Dua.cpp
Larik Dimensi Dua
-------------------------------------------------------------------- */
#include <stdio.h>
#include <stdlib.h>
main()
{
int I,J,K, Baris_A,Kolom_A,Kolom_B;
int Matrik_A[100][100],Matrik_B[100][100],Matrik_C[100][100];
printf("Contoh Program Perkalian Matrikn");
printf("_______________________________n");
printf("n");
//Memasukkan orde matrik
printf("Masukkan Jumlah Baris Matrik A: ");
scanf("%d",&Baris_A);
printf("Masukkan Jumlah Kolom Matrik A: ");
scanf("%d",&Kolom_A);
printf("n");
printf("Masukkan Jumlah Kolom Matrik B: ");
scanf("%d",&Kolom_B);
printf("n");
//Memasukkan data Matrik A
printf("Masukkan Nilai Matrik A:n");
for(I=0;I<Baris_A;I++){
for(J=0;J<Kolom_A;J++){
printf("Matrik A[%3d,%3d]: ", I+1,J+1);
scanf("%d",&Matrik_A[I][J]);
}
printf("n");
}
//Memasukkan data Matrik B
printf("Masukkan Nilai Matrik B:n");
for(J=0;J<Kolom_A;J++){
for(K=0;K<Kolom_B;K++){
printf("Matrik B[%3d,%3d]: ", J+1,K+1);
scanf("%d",&Matrik_B[J][K]);
}
printf("n");
}
//Menghitung Matrikk C hasil perkalian Matrik A & Matrik B
for(I=0;I<Baris_A;I++){
for(K=0;K<Kolom_B;K++){
Matrik_C[I][K] = 0;
for(J=0;J<Kolom_A;J++)
Matrik_C[I][K] += Matrik_A[I][J] * Matrik_B[J][K];
}
}
//Menampilkan hasil perkalian matrik
printf("Hasil perkalian matrik: n");
for(I=0;I<Baris_A;I++){
for(K=0;K<Kolom_B;K++)
printf("%7d",Matrik_C[I][K]);
printf("n");
}
printf("n");
system("pause");
}
Hasil Eksekusi
LARIK STRING
• Program berikut ini menunjukkan deklarasi
suatu larik string dimensi satu yang dibentuk
dari larik karakter berdimensi dua (perhatikan
bahwa deklarasi ini menggunakan tipe char)
dan fungsi printf() yang menampilkan lariknya
menggunakan kode format “%c”.
/* ----------------------------------------------------------------
Nama Program: ADP_Larik_7_Larik_String.cpp
Larik String
---------------------------------------------------------------- */
#include <stdio.h>
#include <stdlib.h>
main()
{
int I,J;
char Hari[7][10]={
"Minggu",
"Senin",
"Selasa",
"Rabu",
"Kamis",
"Jumat",
"Sabtu"
};
printf("Contoh Program Larik String Dimensi Satun");
printf("__________________________________n");
printf("n");
for(I=0;I<7;I++){
for(J=0;J<10;J++){
printf("%c", Hari[I][J]);
printf("n");
}
}
system("pause");
}
Hasil Eksekusi
LARIK STRING
• Program berikut ini menunjukkan deklarasi
suatu larik string dimensi satu yang tetap akan
ditampilkan sebagai larik string dimensi satu,
sehingga fungsi printf() yang akan
menampilkannya menggunakan kode format
“%s”.
/* ------------------------------------------------------------------
Nama Program: ADP_Larik_7a_Larik_String.cpp
Larik String
------------------------------------------------------------------ */
#include <stdio.h>
#include <stdlib.h>
main()
{
int I;
char Hari[7][10]={
"Minggu",
"Senin",
"Selasa",
"Rabu",
"Kamis",
"Jumat",
"Sabtu"
};
printf("Contoh Program Larik String Dimensi Satun");
printf("__________________________________n");
printf("n");
for(I=0;I<7;I++){
printf("%s", Hari[I]);
printf("n");
}
printf("n");
system("pause");
}
Hasil Eksekusi
LARIK STRING
• Program berikut ini menunjukkan bagaimana
larik string dimensi dua (larik karakter dimensi
tiga) dideklarasikan dan ditampilkan.
/* ------------------------------------------------------------------
Nama Program: ADP_Larik_7b_Larik_String.cpp
Larik String
------------------------------------------------------------------ */
#include <stdio.h>
#include <stdlib.h>
main()
{
int I,J;
char Nama[3][5][15]={
"Retno", "Aulia", "Risang", "Feyzar", "Pamungkas",
"Lisa", "Desi", "Agung", "Galih", "Kamilus",
"Hafiza", "Meli", "Ulfa", "Agung", "Irfan",
};
printf("Contoh Program Larik String Dimensi Duan");
printf("__________________________________n");
printf("n");
for(I=0;I<3;I++){
printf("Mahasiswa di kelas %ld adalah: n", I+1);
for(J=0;J<5;J++)
printf("%sn",Nama[I][J]);
printf("n");
}
printf("n");
system("pause");
}
Hasil Eksekusi
INISIALISASI LARIK STRING TIDAK
BERUKURAN
• Untuk larik-larik string, seringkali panjang dari
nilai-nilai stringnya satu dengan yang lainnya
tidak sama (misalnya nilai string “Minggu”
tidak sama panjangnya dengan nilai string
“Senin”), sehingga jika dideklarasikan dengan
panjang yang maksimum, maka akan
memboroskan tempat memori. Untuk
mengatasi masalah ini, dapat digunakan
inisialisasi larik tak berukuran.
/* ------------------------------------------------------------------
Nama Program: ADP_Larik_7c_Larik_String.cpp
Larik String
------------------------------------------------------------------ */
#include <stdio.h>
#include <stdlib.h>
main()
{
int I;
char Hari[][10]={
"Minggu",
"Senin",
"Selasa",
"Rabu",
"Kamis",
"Jumat",
"Sabtu",
};
printf("Contoh Program Inisialisasi Larik String Tak Berukurann");
printf("___________________________________________n");
printf("n");
for(I=0;I<7;I++){
printf("%sn",Hari[I]);
}
printf("n");
system("pause");
}
Hasil Eksekusi
PUSTAKA
• Kristanto, Andri. (2009). Algoritma &
Pemrograman dengan C++ Edisi 2. Yogyakarta.
Graha Ilmu.
• Hartono, Jogiyanto, MBA., Ph.D. (2002).
Konsep Dasar Pemrograman Bahasa C.
Yogyakarta. Andi.

More Related Content

DOC
modul algoritma Bab 6
DOCX
Materi array
PDF
pengantar array PHP
PPT
PPTX
Pertemuan 6 Struktur Data, Algoritma dan Pemrograman
PDF
Aray dan recrd
PPTX
modul algoritma Bab 6
Materi array
pengantar array PHP
Pertemuan 6 Struktur Data, Algoritma dan Pemrograman
Aray dan recrd

What's hot (17)

PPTX
Array searching sorting_pert_11,12,13,14,15
PPTX
Tipe data abstract
PDF
Makalah array
PPTX
PDF
Tipe Data pada Bahasa Java
PPT
Array
PPTX
Pemograman dasar array
DOCX
Algoritma - Array
PPTX
Materi : Struktur Data (2 Array)
PDF
3. Pointer dan List Berkait Singly
DOC
Makalah array
PPTX
Pertemuan V
PDF
1. Algoritma, Struktur Data dan Pemrograman Terstruktur
PDF
PEMROGRAMAN DASAR KD. Menganalisis penggunaan array untuk penyimpanan data di...
DOC
Dasar Pemrograman materi kuliah
PPTX
Materi 7. array
DOC
Pengenalan pascal asli
Array searching sorting_pert_11,12,13,14,15
Tipe data abstract
Makalah array
Tipe Data pada Bahasa Java
Array
Pemograman dasar array
Algoritma - Array
Materi : Struktur Data (2 Array)
3. Pointer dan List Berkait Singly
Makalah array
Pertemuan V
1. Algoritma, Struktur Data dan Pemrograman Terstruktur
PEMROGRAMAN DASAR KD. Menganalisis penggunaan array untuk penyimpanan data di...
Dasar Pemrograman materi kuliah
Materi 7. array
Pengenalan pascal asli
Ad

Viewers also liked (19)

PDF
Designing, coding and validating sport science apps
DOCX
Resume - Prahlad Rao
DOCX
YvonneWilliamsRecruitingPro
PPT
China power point
PPTX
Escolta ganadora 22 de enero 2015
PDF
DaveWiestResume_3D2016
PDF
10 11 ekon-a
PPTX
Rape
PPTX
Clase de crecimiento y desarrollo unison 2013
KEY
Round Like A Circle Graphic Design
PPTX
Presentacion whats! a news
PPT
Pp prueba
PPTX
La enseñanza de la educación física en primaria
PDF
Director Business Development - Sales
PDF
Brexit - Planning Ahead (Jun16)
PPT
DURACIÓN OPTIMA DE LA LACTANCIA MATERNA EXCLUSIVA: RESULTADOS PARA LA SALUD D...
ODT
El notre projecte Mengem sa!!
PPTX
일 work il Korean Word of the Day
Designing, coding and validating sport science apps
Resume - Prahlad Rao
YvonneWilliamsRecruitingPro
China power point
Escolta ganadora 22 de enero 2015
DaveWiestResume_3D2016
10 11 ekon-a
Rape
Clase de crecimiento y desarrollo unison 2013
Round Like A Circle Graphic Design
Presentacion whats! a news
Pp prueba
La enseñanza de la educación física en primaria
Director Business Development - Sales
Brexit - Planning Ahead (Jun16)
DURACIÓN OPTIMA DE LA LACTANCIA MATERNA EXCLUSIVA: RESULTADOS PARA LA SALUD D...
El notre projecte Mengem sa!!
일 work il Korean Word of the Day
Ad

Similar to 6 adp array (larik) (17)

PPTX
Pengantar Array satu dimensi. Pengenalan array
PDF
array mata pelajar infomatika kelas 10 dengan array
PPTX
materi array 1 dimensi 2 dimensi,multidimensi
PPTX
PPTX
A rray..
DOCX
Laporan praktikum modul v
PDF
Algoritma dan Struktur Data - Larik
PPTX
Topik 11 Array
PDF
Algoritma dan Struktur Data - Array
PPTX
7 pointer
PPTX
7.pointer
PPTX
7 pointer
PPTX
7 pointer
PPTX
7 pointer
PPTX
7 pointer - copy
PPTX
7 pointer - copy
PPTX
7 pointer - copy
Pengantar Array satu dimensi. Pengenalan array
array mata pelajar infomatika kelas 10 dengan array
materi array 1 dimensi 2 dimensi,multidimensi
A rray..
Laporan praktikum modul v
Algoritma dan Struktur Data - Larik
Topik 11 Array
Algoritma dan Struktur Data - Array
7 pointer
7.pointer
7 pointer
7 pointer
7 pointer
7 pointer - copy
7 pointer - copy
7 pointer - copy

More from Fisma Ananda (20)

PDF
Bab 13 etika komputer
PDF
Bab 12 keamanan komputer
PDF
Bab 11 bahasa pemograman
PDF
Bab 10 internet
PDF
Bab 9 jaringan komputer
PDF
Bab 8 komunikasi data
PDF
Bab 7 organisasi file
PDF
Bab 6 sistem bilangan
PDF
Bab 5 software
PDF
Bab 4 hardware
PDF
Bab 3 komputer dan bagian-bagiannya
DOCX
Modul xiii
DOCX
Modul xii
DOCX
Modul xi
DOCX
Modul x
DOCX
Modul viii
DOCX
Modul vii
DOCX
Modul vi
DOCX
Modul v
PDF
Modul lengkap
Bab 13 etika komputer
Bab 12 keamanan komputer
Bab 11 bahasa pemograman
Bab 10 internet
Bab 9 jaringan komputer
Bab 8 komunikasi data
Bab 7 organisasi file
Bab 6 sistem bilangan
Bab 5 software
Bab 4 hardware
Bab 3 komputer dan bagian-bagiannya
Modul xiii
Modul xii
Modul xi
Modul x
Modul viii
Modul vii
Modul vi
Modul v
Modul lengkap

6 adp array (larik)

  • 1. ARRAY (LARIK) algoritma dan dasar pemrograman
  • 2. LARIK • Larik adalah kumpulan dari nilai-nilai bertipe sama dalam urutan tertentu yang menggunakan sebuah nama yang sama. • Nilai-nilai di suatu larik disebut dengan elemen-elemen larik. • Letak urutan dari suatu elemen larik ditunjukkan oleh suatu subscript atau suatu index.
  • 3. LARIK • Larik dapat berdimensi satu, dua, tiga, atau lebih. • Larik dimensi satu (one-dimensional array) mewakili bentuk suatu vektor. • Larik dimensi dua (two-dimensional array) mewakili bentuk dari suatu matrik atau tabel. • Larik dimensi tiga (three-dimensional array) mewakili bentuk suatu ruang.
  • 4. DEKLARASI LARIK • Larik dideklarasikan dengan menyebutkan jumlah dari elemennya yang ditulis di antara tanda ‘[]’. Contohnya: int X[5]; //larik dimensi satu dengan nama X yang dideklarasikan dengan tipe data int yang mempunyai 5 buah elemen. • Elemen-elemen dari larik X ini adalah: X[0], X[1], X[2], X[3], dan X[4] • Misalkan suatu variabel integer I bernilai 3, maka variabel ini dapat digunakan sebagai indeks dari larik, yaitu X[I] yang berarti menunjukkan elemen larik ke – 4 atau X[3]. • Untuk Bahasa C, elemen pertama dari suatu larik dimulai dengan indeks nol.
  • 5. DEKLARASI LARIK • Deklarasi dapat juga langsung dengan memberikan nilai-nilai awal elemen lariknya. Misalnya Vektor X berikut ini: X = {5, 3, 7} Vektor ini dapat dideklarasikan sebagai larik dimensi satu dengan jumlah elemen 3 dengan nilai-nilai elemennya 5, 3, dan 7, seperti berikut ini: int X[3] = {5, 3, 7}; Nilai-nilai elemen larik ini adalah: X[0] bernilai 5 X[1] bernilai 3 X[2] bernilai 7 Misalnya nilai elemen ke – 1 akan dikalikan dengan nilai elemen ke – 3, maka dapat ditulis X[0] * X[2] dengan hasilnya adalah 35.
  • 6. BEDA LARIK DENGAN VARIABEL BIASA • Perbedaan utama antara larik dengan variabel biasa adalah sebuah larik dapat mempunyai sejumlah nilai, sedangkan sebuah variabel biasa hanya dihubungkan dengan sebuah nilai saja. • Misalnya terdapat tiga buah nilai, yaitu 8, 5, dan 7. Jika nilai-nilai ini akan dihubungkan dengan sebuah nama saja, maka dapat digunakan sebuah larik. Jika digunakan variabel untuk menyimpan nilai-nilai tersebut, maka harus digunakan tiga buah variabel dengan nama-nama yang berbeda, misalnya variabel X1 untuk menyimpan nilai 8, variabel X2 untuk nilai 5, dan variabel X3 untuk nilai 7.
  • 7. /* ---------------------------------------------------- Nama Program: ADP_Larik_1.cpp Perbedaan Larik dengan Variabel Biasa ------------------------------------------------------ */ #include <stdio.h> #include <stdlib.h> main() { float X1=5, X2=3, X3=7, Total; printf("Contoh Program Menghitung Tiga Buah Nilain"); printf("yang Disimpan pada Tiga Variabeln"); printf("____________________________________n"); printf("___________________________n"); printf("n"); Total = X1 + X2 + X3; printf("Total = %.2fn", Total); printf("n"); system("pause"); }
  • 9. BEDA LARIK DENGAN VARIABEL BIASA • Contoh ADP_Larik_2.cpp pada slide sebelumnya hanya praktis jika digunakan untuk menjumlahkan nilai dari 3 variabel saja. Tetapi jika jumlah variabel yang akan dijumlahkan > 3, misalnya 1000, maka akan lebih jika menggunakan larik untuk mewakili nilai-nilai tersebut, seperti terlihat pada contoh berikut ini.
  • 10. /* ---------------------------------------------------- Nama Program: ADP_Larik_2.cpp Perbedaan Larik dengan Variabel Biasa ------------------------------------------------------ */ #include <stdio.h> #include <stdlib.h> main() { float X[3]={5,3,7}, Total=0; int I; printf("Contoh Program Menghitung Tiga Buah Nilai "); printf("yang Disimpan pada Tiga Variabeln"); printf("____________________________________"); printf("___________________________n"); printf("n"); for(I=0;I<=2;I++) Total = Total + X[I]; printf("Total = %.2fn", Total); printf("n"); system("pause"); }
  • 12. INISIALISASI LARIK TIDAK BERUKURAN • Dalam mendeklarasikan larik dengan memberikan nilai-nilai elemen awalnya, jumlah dari elemen larik dapat ditulis ‘[]’. Larik seperti ini disebut dengan larik yang tidak berukuran. • Perhatikan contoh pada slide berikut dimana larik dimensi satu X yang mempunyai nilai- nilai elemen 5, 2, dan 7 dideklarasikan dengan tidak berukuran.
  • 13. /* --------------------------------------------- Nama Program: ADP_Larik_3.cpp Inisialisasi Larik Tidak Berukuran --------------------------------------------- */ #include <stdio.h> #include <stdlib.h> main() { float X[]={5,3,7}, Total=0; int I; printf("Contoh Program Inisialisasi Larik Tidak Berukurann"); printf("________________________________________n"); printf("n"); for(I=0;I<=2;I++) Total = Total + X[I]; printf("Total = %.2fn", Total); printf("n"); system("pause"); }
  • 15. INISIALISASI LARIK TIDAK BERUKURAN • Untuk larik tidak berukuran ini, bahasa C akan secara otomatis menentukan ukuran (jumlah elemen dari lariknya) tergantung dari jumlah nilai-nilai elemen yang diberikan sewaktu deklarasi. • Pada contoh di slide sebelumnya jumlah nilai- nilai elemen yang diberikan adalah sebanyak 3 buah, sehingga larik X tersebut dapat juga dikatakan mempunyai 3 buah elemen.
  • 16. INISIALISASI LARIK TIDAK BERUKURAN • Permasalahan sering kali muncul jika programer belum mengetahui jumlah dari elemen-elemen lariknya. • Permasalahan seperti ini sering terjadi untuk suatu program yang menggunakan suatu larik dengan jumlah elemennya ditentukan oleh pemakai program, atau dengan kata lain, jumlah elemen dari larik tidak ditentukan di dalam program, tetapi ditentukan setelah program dijalankan.
  • 17. INISIALISASI LARIK TIDAK BERUKURAN • Untuk mengatasi permasalahan seperti ini, jumlah elemen dari larik dapat ditentukan terlebih dahulu di dalam program secara maksimum dengan batasan memori yang digunakan masih mencukupi. Misalnya jumlah elemen dari larik ditentukan terlebih dahulu sebesar 1000 buah. Pemakai program kemudian ditanyakan jumlah elemen larik yang sebenarnya dengan batasan jumlah elemen maksimumnya adalah sebanyak yang telah ditentukan di dalam program. Misalny pemakai program hanya menggunakan sebanyak 200 elemen larik saja, maka sisi elemen yang telah ditentukan di dalam program tidak akan digunakan, walaupun sudah “dipesankan” tempatnya di dalam memori.
  • 18. INISIALISASI LARIK TIDAK BERUKURAN • Program berikut ini akan menghitung nilai total, rata- rata dan deviasi standar (penyimpangan baku atau standard deviation) dari sejumlah nilai data. • Program ini mengijinkan pemakai program untuk menentukan jumlah dari data. Jumlah dari data ini menunjukkan jumlah dari elemen.
  • 19. /* ----------------------------------------------- Nama Program: ADP_Larik_4.cpp Inisialisasi Larik Tidak Berukuran ----------------------------------------------- */ #include <stdio.h> #include <math.h> #include <stdlib.h> main() { int N, I; float X[1000], Total=0, Rata, Xi_Rata_2=0, SD; printf("Contoh Program Untuk Menghitung Nilai Rata-rata "); printf("dan deviasi standarn"); printf("_________________________________________"); printf("___________________n"); printf("n"); //Masukan jumlah dari data printf("Masukkan Jumlah Data (Maksiumum 1000 buah): "); scanf("%d", &N); printf("n"); //Masukan nilai data ke 0 sampai dengan ke N-1 //dan hitung nilai totalnya for(I=0;I<N;I++){ printf("Nilai Data ke - %d : n",I+1); scanf("%f", &X[I]); Total = Total + X[I]; } //Hitung nilai rata-ratanya Rata = Total / N; //Hitung Nilai (Xi - Rata)^2 for(I=0;I<N;I++) Xi_Rata_2 += ((X[I] - Rata) * (X[I] - Rata)); //Hitung Deviasi Standar SD = sqrt(Xi_Rata_2 / N); //Tampilkan hasil printf("n"); printf("Jumlah Data : %dn", N); printf("Total Nilai : %.2fn", Total); printf("Rata-rata Nilai : %.2fn", Rata); printf("Deviasi Standar : %.2fn", SD); system("pause"); }
  • 21. LARIK DIMENSI SATU • Program berikut untuk menampikan bilangan dari 1 sampai bilangan 10, dengan pangkatnya masing-masing. Batas nilai maksimum yang disimpan adalah 100.
  • 22. /* ------------------------------------------ Nama Program: ADP_Larik_5_Dimensi_Satu.cpp Larik Dimensi Satu ------------------------------------------ */ #include <stdio.h> #include <stdlib.h> main() { int square[100]; int I; int K; printf("Contoh Program Perhitungan Perpangkatann"); printf("_________________________________________"); printf("n"); //Penghitungan perpangkatan for(I=0;I<10;I++){ K = I + 1; square[I] = K*K; printf("nPangkat dari %d adalah %d", K, square[I]); } printf("n"); printf("n"); system("pause"); }
  • 24. LARIK DIMENSI DUA • Program berikut untuk menunjukkan bagaiman suatu larik dimensi dua dideklarasikan dan ditampilkan nilai-nilai elemennya dalam bentuk matrik.
  • 25. /* ---------------------------------------------------------------- Nama Program: ADP_Larik_6_Dimensi_Dua.cpp Larik Dimensi Dua ---------------------------------------------------------------- */ #include <stdio.h> #include <stdlib.h> main() { int I,J; float X[3][4] = { 10.00, 20.00, 30.00, 40.00, 15.55, 25.55, 35.55, 45.55, 25.00, 35.00, 45.00, 55.00 }; printf("Contoh Program Larik Dimensi Duan"); printf("____________________________n"); printf("n"); //Menampilkan dalam bentuk matrik for(I=0;I<3;I++){ for(J=0;J<4;J++) printf("%8.2f", X[I][J]); printf("n"); } printf("n"); system("pause"); }
  • 27. LARIK DIMENSI DUA • Program berikut untuk menghitung perkalian dua buah matrik, dimana perkalian dua buah matrik dapat dilakukan jika banyaknya kolom matrik pertama adalah sama dengan banyaknya baris matrik yang kedua.
  • 28. /* -------------------------------------------------------------------- Nama Program: ADP_Larik_6a_Dimensi_Dua.cpp Larik Dimensi Dua -------------------------------------------------------------------- */ #include <stdio.h> #include <stdlib.h> main() { int I,J,K, Baris_A,Kolom_A,Kolom_B; int Matrik_A[100][100],Matrik_B[100][100],Matrik_C[100][100]; printf("Contoh Program Perkalian Matrikn"); printf("_______________________________n"); printf("n"); //Memasukkan orde matrik printf("Masukkan Jumlah Baris Matrik A: "); scanf("%d",&Baris_A); printf("Masukkan Jumlah Kolom Matrik A: "); scanf("%d",&Kolom_A); printf("n"); printf("Masukkan Jumlah Kolom Matrik B: "); scanf("%d",&Kolom_B); printf("n"); //Memasukkan data Matrik A printf("Masukkan Nilai Matrik A:n"); for(I=0;I<Baris_A;I++){ for(J=0;J<Kolom_A;J++){ printf("Matrik A[%3d,%3d]: ", I+1,J+1); scanf("%d",&Matrik_A[I][J]); } printf("n"); } //Memasukkan data Matrik B printf("Masukkan Nilai Matrik B:n"); for(J=0;J<Kolom_A;J++){ for(K=0;K<Kolom_B;K++){ printf("Matrik B[%3d,%3d]: ", J+1,K+1); scanf("%d",&Matrik_B[J][K]); } printf("n"); } //Menghitung Matrikk C hasil perkalian Matrik A & Matrik B for(I=0;I<Baris_A;I++){ for(K=0;K<Kolom_B;K++){ Matrik_C[I][K] = 0; for(J=0;J<Kolom_A;J++) Matrik_C[I][K] += Matrik_A[I][J] * Matrik_B[J][K]; } } //Menampilkan hasil perkalian matrik printf("Hasil perkalian matrik: n"); for(I=0;I<Baris_A;I++){ for(K=0;K<Kolom_B;K++) printf("%7d",Matrik_C[I][K]); printf("n"); } printf("n"); system("pause"); }
  • 30. LARIK STRING • Program berikut ini menunjukkan deklarasi suatu larik string dimensi satu yang dibentuk dari larik karakter berdimensi dua (perhatikan bahwa deklarasi ini menggunakan tipe char) dan fungsi printf() yang menampilkan lariknya menggunakan kode format “%c”.
  • 31. /* ---------------------------------------------------------------- Nama Program: ADP_Larik_7_Larik_String.cpp Larik String ---------------------------------------------------------------- */ #include <stdio.h> #include <stdlib.h> main() { int I,J; char Hari[7][10]={ "Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu" }; printf("Contoh Program Larik String Dimensi Satun"); printf("__________________________________n"); printf("n"); for(I=0;I<7;I++){ for(J=0;J<10;J++){ printf("%c", Hari[I][J]); printf("n"); } } system("pause"); }
  • 33. LARIK STRING • Program berikut ini menunjukkan deklarasi suatu larik string dimensi satu yang tetap akan ditampilkan sebagai larik string dimensi satu, sehingga fungsi printf() yang akan menampilkannya menggunakan kode format “%s”.
  • 34. /* ------------------------------------------------------------------ Nama Program: ADP_Larik_7a_Larik_String.cpp Larik String ------------------------------------------------------------------ */ #include <stdio.h> #include <stdlib.h> main() { int I; char Hari[7][10]={ "Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu" }; printf("Contoh Program Larik String Dimensi Satun"); printf("__________________________________n"); printf("n"); for(I=0;I<7;I++){ printf("%s", Hari[I]); printf("n"); } printf("n"); system("pause"); }
  • 36. LARIK STRING • Program berikut ini menunjukkan bagaimana larik string dimensi dua (larik karakter dimensi tiga) dideklarasikan dan ditampilkan.
  • 37. /* ------------------------------------------------------------------ Nama Program: ADP_Larik_7b_Larik_String.cpp Larik String ------------------------------------------------------------------ */ #include <stdio.h> #include <stdlib.h> main() { int I,J; char Nama[3][5][15]={ "Retno", "Aulia", "Risang", "Feyzar", "Pamungkas", "Lisa", "Desi", "Agung", "Galih", "Kamilus", "Hafiza", "Meli", "Ulfa", "Agung", "Irfan", }; printf("Contoh Program Larik String Dimensi Duan"); printf("__________________________________n"); printf("n"); for(I=0;I<3;I++){ printf("Mahasiswa di kelas %ld adalah: n", I+1); for(J=0;J<5;J++) printf("%sn",Nama[I][J]); printf("n"); } printf("n"); system("pause"); }
  • 39. INISIALISASI LARIK STRING TIDAK BERUKURAN • Untuk larik-larik string, seringkali panjang dari nilai-nilai stringnya satu dengan yang lainnya tidak sama (misalnya nilai string “Minggu” tidak sama panjangnya dengan nilai string “Senin”), sehingga jika dideklarasikan dengan panjang yang maksimum, maka akan memboroskan tempat memori. Untuk mengatasi masalah ini, dapat digunakan inisialisasi larik tak berukuran.
  • 40. /* ------------------------------------------------------------------ Nama Program: ADP_Larik_7c_Larik_String.cpp Larik String ------------------------------------------------------------------ */ #include <stdio.h> #include <stdlib.h> main() { int I; char Hari[][10]={ "Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu", }; printf("Contoh Program Inisialisasi Larik String Tak Berukurann"); printf("___________________________________________n"); printf("n"); for(I=0;I<7;I++){ printf("%sn",Hari[I]); } printf("n"); system("pause"); }
  • 42. PUSTAKA • Kristanto, Andri. (2009). Algoritma & Pemrograman dengan C++ Edisi 2. Yogyakarta. Graha Ilmu. • Hartono, Jogiyanto, MBA., Ph.D. (2002). Konsep Dasar Pemrograman Bahasa C. Yogyakarta. Andi.