SlideShare a Scribd company logo
1 of 18
Download to read offline
Konsep Array
(Larik)
Ir. Sihar, MT.
T. Informatika – Fak. Teknik
Bandung - 2013
Algoritma dan Pemrograman – I (4sks)
Daftar Pustaka
1) Goodrich, M.T., Tamassia, R., Mount, D. M. Data Structures and
Algorithms in C++ 2nd Edition. Addison-Wiley. 2011.
2) Sedgewick, R. Algorithms in C++, Parts 1-4: Fundamentals, Data
Structure, Sorting, Searching, Third Edition 3rd Edition. Addison-
Wesley Professional. 1998.
3) Simamora, S.N.M.P. “Diktat Kuliah Algoritma dan Pemrograman-I”,
Program studi Teknik Informatika. Fak. Teknik. UTAMA. Bandung.
2013.
4) Simamora, S.N.M.P. “Diktat Kuliah CE113 Sistem Komputer”. Program
studi Teknik Komputer. Politeknik TELKOM. Bandung. 2007.
5) Simamora, S.N.M.P. “Diktat Kuliah TIK-1102 Algoritma &
Pemrograman-I". Program studi Teknik Informatika, Fak. Teknologi
Informasi. UNAI. Bandung. 2006.
6) Simamora, S.N.M.P. “Diktat TIF301 Algoritma dan Pemrograman-1”.
Program studi T. Informatika, FTI. Univ. BALE Bandung. 2011.
Array (larik) merupakan sebuah variabel
yang berisikan sekelompok data dengan
tipe-data yang sama, dimana diurutkan
mulai indeks ke-0.
Dalam
matematika,
suatu array
identik dengan
sebuah
himpunan.
Namun secara
math-based,
indeks dimulai
ke-1
Misalkan: diketahui suatu var: A1 berisikan: -2,3,1,-2,0;
maka dapat diuraikan (secara math-based):
A1[1] berisikan bilangan -2;
A1[2] berisikan bilangan 3;
A1[3] berisikan bilangan 1;
A1[4] berisikan bilangan -2;
A1[5] berisikan bilangan 0;
Dan panjang-array A1 = 5;
Algoritma dan pemrograman C++:
Tampilan jalannya program:
Alternatif
penulisan
Alokasi N panjang-array pada variabel adalah
min: senilai panjang-array tsb, maksimal
seukuran main-memory, namun bisa
dikosongkan apabila isi array terdefinisi.
Misalkan: diketahui suatu var: A1 berisikan: -2,3,1,-2,0; maka dapat diuraikan (secara
math-based):
A1[1] berisikan bilangan -2;
A1[2] berisikan bilangan 3;
A1[3] berisikan bilangan 1;
A1[4] berisikan bilangan -2;
A1[5] berisikan bilangan 0;
Dan panjang-array A1 = 5;
Menampilkan (math-based) A1[3] dengan algoritma dan pemrograman C++:
Tampilan jalannya program:
Teknik swapping ⇒ mempertukarkan isi dua
variabel, sehingga membutuhkan sebuah
temporary-variable (temp_var).
Contoh: ada dua variabel, A=3 dan B=-12; jika akan dipertukarkan isi kedua variabel
tersebut maka diuraikan sebagai berikut:
x←temp_var;
x←A;
A←B;
B←x;
Algoritma dan pemrograman C++: Tampilan jalannya program:
Misalkan: diketahui suatu var: A berisikan: -1.2,3,1.2,-2,0,1; maka dapat diuraikan
(secara math-based):
A[1] berisikan bilangan -1.2;
A[2] berisikan bilangan 3;
A[3] berisikan bilangan 1.2;
A[4] berisikan bilangan -2;
A[5] berisikan bilangan 0;
A[6] berisikan bilangan 1;
Dan panjang-array A = 6;
Mempertukarkan (math-based) A[1] ↔A[6] dengan algoritma dan pemrograman C++:
Tampilan jalannya program:
Misalkan: diketahui suatu var: H berisikan: -1.2,3.1,1.2,-2,0,1,0; maka dapat diuraikan
(secara math-based):
H[1] berisikan bilangan -1.2;
H[2] berisikan bilangan 3.1;
H[3] berisikan bilangan 1.2;
H[4] berisikan bilangan -2;
H[5] berisikan bilangan 0;
H[6] berisikan bilangan 1;
H[7] berisikan bilangan 0;
Dan panjang-array H = 7;
Menampilkan isi z sebanyak 3x secara vertikal dengan algoritma dan pemrograman
C++:
apabila var: z menampung perkalian H[2] dengan
H[6]; (math-based)
Tampilan jalannya program:
Penerapan metode array pada karakter untuk penanganan kasus string
(menampilkan kata/kalimat). String merupakan sekumpulan karakter yang
dikelompokkan menjadi mengandung sebuah makna.
Misalkan: sebuah var: dX ∈ 's','u','k','s','e','s'; maka dapat diuraikan (indeks secara
math-based):
dX[1] berisikan karakter ‘s’;
dX[2] berisikan karakter ‘u’;
dX[3] berisikan karakter ‘k’;
dX[4] berisikan karakter ‘s’;
dX[5] berisikan karakter ‘e’;
dX[6] berisikan karakter ‘s’;
Dan panjang-array dX = 6;
Alternatif
penulisan lain
Misalkan: sebuah var: dX ∈ 's','u','k','s','e','s'; maka dapat diuraikan (indeks secara
math-based):
dX[1] berisikan karakter ‘s’;
dX[2] berisikan karakter ‘u’;
dX[3] berisikan karakter ‘k’;
dX[4] berisikan karakter ‘s’;
dX[5] berisikan karakter ‘e’;
dX[6] berisikan karakter ‘s’;
Dan panjang-array dX = 6;
Sebuah variabel, zK, diisikan kata: ”rosalina”. Apabila karakter ‘3’ disisipkan
ke setiap indeks genap (math-based), maka tuliskan algoritma dan
pemrograman C++ untuk menyelesaikan persoalan ini. Tampilkan juga kata
baru setelah proses penyisipan dilakukan.
Kasus:
Solusi: Konstruksi-algoritma: zK←”rosalina”;
var: zK ∈ ‘r',‘o',‘s',‘a',‘l',‘i',‘n',‘a'; maka dapat diuraikan (indeks secara math-based):
zK[1] berisikan karakter ‘r’;
zK[2] berisikan karakter ‘o’;
zK[3] berisikan karakter ‘s’;
zK[4] berisikan karakter ‘a’;
zK[5] berisikan karakter ‘l’;
zK[6] berisikan karakter ‘i’;
zK[7] berisikan karakter ‘n’;
zK[8] berisikan karakter ‘a’;
Dan panjang-array zK = 8;
disisip ‘3’;
disisip ‘3’;
disisip ‘3’;
disisip ‘3’;
setelah disisipkan="r3s3l3n3";
Algoritma dan pemrograman C++:
Tampilan jalannya program:
Sebuah variabel, s1, diisikan bilangan: 9,-2,2,-2,3,0. Apabila masing-masing
isi s1 ditambahkan dengan enam bilangan yang masing-masing diisikan oleh
end-user, maka tuliskan algoritma dan pemrograman C++ untuk menampilkan
hasil penjumlahan tersebut apabila keenam bilangan ini ditampungkan
kembali ke s1.
Kasus:
Solusi: Konstruksi-algoritma: Misalkan var: S1 menampung keenam bilangan yang di-
input-kan
Tampilan jalannya program:
AlgoritmadanpemrogramanC++:
Asumsi math-based: s1[1]←s1[1]+S1[1];
s1[2]←s1[2]+S1[2];
...
s1[6]←s1[6]+S1[6];
Tampilkanlah sebuah kata dengan panjang lima karakter dimana kata
tersebut didapatkan dengan input-value by end-user. Kelima karakter
tersebut ditampungkan ke var: K. Sertakan dengan tampilan jalannya
program.
Kasus:
Solusi: Konstruksi-algoritma: asumsi math-based: K[1]←”...”;
K[2]←”...”;
K[3]←”...”;
Algoritma dan pemrograman C++:
Tampilan jalannya program:
...
K[5]←”...”;
Ada lima bilangan yang akan ditampungkan ke var array z. Jika setiap
bilangan adalah penjumlahan akumulatif dengan bilangan pertama adalah
input-an dari end-user, maka tampilkan isi z dan total nilai akumulatif
penjumlahan kelima bilangan tersebut.
Kasus:
set i=indeks;
set x=0;
masukkan a?;
x=x+a;
z[1]←x;
... s.d i=5;
Solusi: Konstruksi-algoritma: asumsi math-based:
Misalkan lima bilangan yang akan dimasukkan: 2,3,2,-1,2;
Maka dapat diuraikan sbb:
i=1; x←0+2; z[1]←2;
i=2; x←2+3; z[2]←5;
i=3; x←5+2; z[3]←7;
i=4; x←7+-1; z[4]←6;
i=5; x←6+2; z[5]←8;
dan, total=8;
Algoritma dan pemrograman C++:
Tampilan jalannya
program:
Tuliskan sebuah aplikasi pemrograman apabila ditetapkan kriteria berikut
ini:
Jika memutuskan pilihan-1: mengerjakan statement berikut:
z←A[i]+3; dimana z adalah variabel array;
dan A∈{5,-1,2,5,-2};
Jika memutuskan pilihan-2: menampilkan kata:”widyatama” dengan metode
array dan struktur kendali proses: looping/repetition.
Jika memutuskan pilihan-3: mengerjakan statement berikut:
z←B[i]⊕3; dimana z adalah variabel array;
dan B∈{0x5,1,0,02,2};
Kasus:
⇒
⇒
⇒
Solusi: Pada persoalan yang dikemukakan ditunjukkan bahwa pilihan-1 dan 3 untuk
operand-hasil pada statement tersebut ditampungkan pada variabel yang
sama yakni: var: z.
Pada pilihan No.1: (asumsi math-based) z[1]←5+3; z[1]=8;
z[2]←-1+3; z[2]=2;
z[3]←2+3; z[3]=5;
z[4]←5+3; z[4]=8;
z[5]←-2+3; z[5]=1;
Pada pilihan No.3: (asumsi math-based) z[1]←0x5 ⊕ 3; z[1]=6;
z[2]←1 ⊕ 3; z[2]=2;
z[3]←0 ⊕ 3; z[3]=3;
z[4]←02 ⊕ 3; z[4]=1;
z[5]←2 ⊕ 3; z[5]=1;
AlgoritmadanpemrogramanC++:
Tampilan jalannya program:
Apabila diketahui sebuah statement berikut ini:
z←A[i]+3; dimana z adalah variabel non-array;
dan A∈{0.5,1,-0.2,7,-2};
Tentukan z, dan tampilkan proses counter di z untuk statement tersebut.
Sertakan dengan tampilan jalannya program.
Kasus:
i=1;
z=z+A[1]+3;
tampilkan z; ↵
i=2;
z=z+A[2]+3;
tampilkan z; ↵
i=3;
z=z+A[3]+3;
tampilkan z; ↵
i=4;
z=z+A[4]+3;
tampilkan z; ↵
i=5;
z=z+A[5]+3;
tampilkan z; ↵
Solusi: Apabila z adalah variabel non-array, maka ditetapkan lakukan proses
akumulatif dan tampilkan isi z setiap hasil counter dieksekusi.
Konstruksi-algoritma:
(1) ⇒ 0.5+3=3.5;
(2) ⇒ 3.5+1+3=7.5;
(3) ⇒ 7.5+(-0.2)+3=10.3;
(4) ⇒ 10.3+7+3=20.3;
(5) ⇒ 20.3+(-2)+3=21.3;
Algoritma dan pemrograman C++:
Tampilan jalannya program:
Ada dua variabel array, masing-masing: a1 dan a2; dengan rincian sebagai
berikut:
a1∈ {-1.5,2,0,-1,1,2,2,3};
a2∈ {-1,0.5,1.2,0,-1,0};
Tentukan A apabila ditetapkan statement: A←a1[i]+a2[j]; dimana A adalah
variabel array dengan panjang sama dengan var: a2.
Kasus:
Solusi: Konstruksi-algoritma: asumsi math-based:
Jika N adalah panjang-array dari suatu variabel, maka:
N(a1) = 8;
N(a2) = 6;
N(A) = N(a2) = 6;
A[1] ← -1.5 + -1;
A[2] ← 2 + 0.5;
A[3] ← 0 + 1.2;
A[4] ← -1 + 0;
A[5] ← 1 + -1;
A[6] ← 2 + 0;
Disimulasikan sbb:
Algoritma dan pemrograman C++:
Tampilan jalannya program:
Statement:
A[j]←a1[i]+a2[j]; i=j=1...6;

More Related Content

What's hot

Keterkaitan antara fungsi, limit, kekontinuan, turunan, dan integral
Keterkaitan antara fungsi, limit, kekontinuan, turunan, dan integralKeterkaitan antara fungsi, limit, kekontinuan, turunan, dan integral
Keterkaitan antara fungsi, limit, kekontinuan, turunan, dan integral
Kurcaci Kecil
 
Matematika (limit)
Matematika (limit)Matematika (limit)
Matematika (limit)
Zhand Radja
 

What's hot (20)

notasi leibniz
notasi leibniznotasi leibniz
notasi leibniz
 
Praktikum p-fisika
Praktikum p-fisikaPraktikum p-fisika
Praktikum p-fisika
 
4 Menggambar Grafik Fungsi Dengan Matlab
4 Menggambar Grafik Fungsi Dengan Matlab4 Menggambar Grafik Fungsi Dengan Matlab
4 Menggambar Grafik Fungsi Dengan Matlab
 
Konsep Limit Fungsi di Satu Titik
Konsep Limit Fungsi di Satu TitikKonsep Limit Fungsi di Satu Titik
Konsep Limit Fungsi di Satu Titik
 
Aturan Rantai Pada Turunan
Aturan Rantai Pada TurunanAturan Rantai Pada Turunan
Aturan Rantai Pada Turunan
 
FUNGSI DAN GRAFIK
FUNGSI DAN GRAFIKFUNGSI DAN GRAFIK
FUNGSI DAN GRAFIK
 
MATEMATIKA LIMIT FUNGSI
MATEMATIKA LIMIT FUNGSIMATEMATIKA LIMIT FUNGSI
MATEMATIKA LIMIT FUNGSI
 
Struktur data
Struktur dataStruktur data
Struktur data
 
03 limit dan kekontinuan
03 limit dan kekontinuan03 limit dan kekontinuan
03 limit dan kekontinuan
 
Keterkaitan antara fungsi, limit, kekontinuan, turunan, dan integral
Keterkaitan antara fungsi, limit, kekontinuan, turunan, dan integralKeterkaitan antara fungsi, limit, kekontinuan, turunan, dan integral
Keterkaitan antara fungsi, limit, kekontinuan, turunan, dan integral
 
Matematika (limit)
Matematika (limit)Matematika (limit)
Matematika (limit)
 
Bentuk-Bentuk Tak Tentu Limit Fungsi
Bentuk-Bentuk Tak Tentu Limit FungsiBentuk-Bentuk Tak Tentu Limit Fungsi
Bentuk-Bentuk Tak Tentu Limit Fungsi
 
Kul3 4 fungsi
Kul3 4 fungsiKul3 4 fungsi
Kul3 4 fungsi
 
Matematik Tambahan: Fungsi
Matematik Tambahan: FungsiMatematik Tambahan: Fungsi
Matematik Tambahan: Fungsi
 
76110863 matlab
76110863 matlab76110863 matlab
76110863 matlab
 
Kelas xii bab 1
Kelas xii bab 1Kelas xii bab 1
Kelas xii bab 1
 
Kalkulus modul vi kontinuitas
Kalkulus modul vi kontinuitasKalkulus modul vi kontinuitas
Kalkulus modul vi kontinuitas
 
Limit2
Limit2Limit2
Limit2
 
Algoritma dan Struktur Data - Array
Algoritma dan Struktur Data - ArrayAlgoritma dan Struktur Data - Array
Algoritma dan Struktur Data - Array
 
Konsep Fungsi
Konsep FungsiKonsep Fungsi
Konsep Fungsi
 

Viewers also liked

Viewers also liked (20)

sns op sys_process
sns op sys_processsns op sys_process
sns op sys_process
 
About vb script-sns
About vb script-snsAbout vb script-sns
About vb script-sns
 
algoritma & pemrograman
algoritma & pemrogramanalgoritma & pemrograman
algoritma & pemrograman
 
Jurnal 8_2
Jurnal 8_2Jurnal 8_2
Jurnal 8_2
 
Algoritma dan Arithmatika
Algoritma dan ArithmatikaAlgoritma dan Arithmatika
Algoritma dan Arithmatika
 
Wireless net
Wireless netWireless net
Wireless net
 
Minggu_6 TIF305
Minggu_6 TIF305Minggu_6 TIF305
Minggu_6 TIF305
 
Minggu_5 TIF305
Minggu_5 TIF305Minggu_5 TIF305
Minggu_5 TIF305
 
FTI305 algoritma matematika-info_lnjt_
FTI305 algoritma matematika-info_lnjt_FTI305 algoritma matematika-info_lnjt_
FTI305 algoritma matematika-info_lnjt_
 
Jurnal 8 aviv
Jurnal 8 avivJurnal 8 aviv
Jurnal 8 aviv
 
Minggu_3 TIF305
Minggu_3 TIF305Minggu_3 TIF305
Minggu_3 TIF305
 
Grafika komputer
Grafika komputerGrafika komputer
Grafika komputer
 
Instalasi Dev-C++
Instalasi Dev-C++Instalasi Dev-C++
Instalasi Dev-C++
 
Prinsip ATM
Prinsip ATMPrinsip ATM
Prinsip ATM
 
Minggu_4 TIF305
Minggu_4 TIF305Minggu_4 TIF305
Minggu_4 TIF305
 
Alpro I-latihan_kasus-r11102015
Alpro I-latihan_kasus-r11102015Alpro I-latihan_kasus-r11102015
Alpro I-latihan_kasus-r11102015
 
Solusi quiz 3-ubale_sns
Solusi quiz 3-ubale_snsSolusi quiz 3-ubale_sns
Solusi quiz 3-ubale_sns
 
M8_TIF305_sns_ubb
M8_TIF305_sns_ubbM8_TIF305_sns_ubb
M8_TIF305_sns_ubb
 
M10_TIF305_sns_ubb
M10_TIF305_sns_ubbM10_TIF305_sns_ubb
M10_TIF305_sns_ubb
 
SNS_Matlab_
SNS_Matlab_SNS_Matlab_
SNS_Matlab_
 

Similar to Konsep Array_sns

Software Matematika Sebagai Penunjang Proses Belajar
Software Matematika Sebagai Penunjang Proses BelajarSoftware Matematika Sebagai Penunjang Proses Belajar
Software Matematika Sebagai Penunjang Proses Belajar
Prandita Sega
 
6 adp array (larik)
6   adp array (larik)6   adp array (larik)
6 adp array (larik)
Fisma Ananda
 
6 adp array (larik)
6   adp array (larik)6   adp array (larik)
6 adp array (larik)
Faisal Amir
 

Similar to Konsep Array_sns (20)

Konsep pointer Univ. BALE
Konsep pointer Univ. BALEKonsep pointer Univ. BALE
Konsep pointer Univ. BALE
 
Latihan &kasus alpro-I_sns
Latihan &kasus alpro-I_snsLatihan &kasus alpro-I_sns
Latihan &kasus alpro-I_sns
 
Solusi quiz 2_AlPro-I
Solusi quiz 2_AlPro-ISolusi quiz 2_AlPro-I
Solusi quiz 2_AlPro-I
 
M15_alpro_.pdf
M15_alpro_.pdfM15_alpro_.pdf
M15_alpro_.pdf
 
sns alpro-I_ithb
sns alpro-I_ithbsns alpro-I_ithb
sns alpro-I_ithb
 
Praktikum p-fisika
Praktikum p-fisikaPraktikum p-fisika
Praktikum p-fisika
 
Matlab tutor sns
Matlab tutor snsMatlab tutor sns
Matlab tutor sns
 
Tipe-Data Dalam C++ Programming-language
Tipe-Data Dalam C++ Programming-languageTipe-Data Dalam C++ Programming-language
Tipe-Data Dalam C++ Programming-language
 
MATLAB Dalam Tuntunan Praktis
MATLAB Dalam Tuntunan PraktisMATLAB Dalam Tuntunan Praktis
MATLAB Dalam Tuntunan Praktis
 
Struktur Kendali Proses-alpro-I_sns
Struktur Kendali Proses-alpro-I_snsStruktur Kendali Proses-alpro-I_sns
Struktur Kendali Proses-alpro-I_sns
 
Teori himpunan
Teori himpunanTeori himpunan
Teori himpunan
 
Software Matematika Sebagai Penunjang Proses Belajar
Software Matematika Sebagai Penunjang Proses BelajarSoftware Matematika Sebagai Penunjang Proses Belajar
Software Matematika Sebagai Penunjang Proses Belajar
 
Algoritma Matematika Informasi dalam Pemrograman C++
Algoritma Matematika Informasi dalam Pemrograman C++Algoritma Matematika Informasi dalam Pemrograman C++
Algoritma Matematika Informasi dalam Pemrograman C++
 
Analisa Rangkaian Listrik Menggunakan MATLAB
Analisa Rangkaian Listrik Menggunakan MATLABAnalisa Rangkaian Listrik Menggunakan MATLAB
Analisa Rangkaian Listrik Menggunakan MATLAB
 
Lthn_kasus_M13_alpro.pdf
Lthn_kasus_M13_alpro.pdfLthn_kasus_M13_alpro.pdf
Lthn_kasus_M13_alpro.pdf
 
Allen d76 matlab-adjoe_
Allen d76 matlab-adjoe_Allen d76 matlab-adjoe_
Allen d76 matlab-adjoe_
 
Tugas1
Tugas1Tugas1
Tugas1
 
Panduan_Belajar_Mandiri_MATLAB.pdf
Panduan_Belajar_Mandiri_MATLAB.pdfPanduan_Belajar_Mandiri_MATLAB.pdf
Panduan_Belajar_Mandiri_MATLAB.pdf
 
6 adp array (larik)
6   adp array (larik)6   adp array (larik)
6 adp array (larik)
 
6 adp array (larik)
6   adp array (larik)6   adp array (larik)
6 adp array (larik)
 

More from staffpengajar

More from staffpengajar (20)

M09-jarKomp-1_.pdf
M09-jarKomp-1_.pdfM09-jarKomp-1_.pdf
M09-jarKomp-1_.pdf
 
M10-jarKomp-1.pdf
M10-jarKomp-1.pdfM10-jarKomp-1.pdf
M10-jarKomp-1.pdf
 
Dasar Operator Arithmatika_python.pdf
Dasar Operator Arithmatika_python.pdfDasar Operator Arithmatika_python.pdf
Dasar Operator Arithmatika_python.pdf
 
artikel_IoT_PR_snmpsimamora.pdf
artikel_IoT_PR_snmpsimamora.pdfartikel_IoT_PR_snmpsimamora.pdf
artikel_IoT_PR_snmpsimamora.pdf
 
data_dan_DBase_.pdf
data_dan_DBase_.pdfdata_dan_DBase_.pdf
data_dan_DBase_.pdf
 
Japaness multiplification 3 variables and 4 variables
Japaness multiplification 3 variables and 4 variablesJapaness multiplification 3 variables and 4 variables
Japaness multiplification 3 variables and 4 variables
 
Randomize number vbscript_sns
Randomize number vbscript_snsRandomize number vbscript_sns
Randomize number vbscript_sns
 
sns77 vb script_politel
sns77 vb script_politelsns77 vb script_politel
sns77 vb script_politel
 
Diktat c++ d76_dev-cpp
Diktat c++ d76_dev-cppDiktat c++ d76_dev-cpp
Diktat c++ d76_dev-cpp
 
Artikel sns op-bndg_2000
Artikel sns op-bndg_2000Artikel sns op-bndg_2000
Artikel sns op-bndg_2000
 
sns about struct-cpp
sns about struct-cppsns about struct-cpp
sns about struct-cpp
 
What about spim-simulator
What about spim-simulatorWhat about spim-simulator
What about spim-simulator
 
Notes reliability engineering
Notes reliability engineeringNotes reliability engineering
Notes reliability engineering
 
Matlab sns_77
Matlab sns_77Matlab sns_77
Matlab sns_77
 
sns es oop_
sns es oop_sns es oop_
sns es oop_
 
Oop aju allen-UBB
Oop aju allen-UBBOop aju allen-UBB
Oop aju allen-UBB
 
M8 tif314 krywn_sns
M8 tif314 krywn_snsM8 tif314 krywn_sns
M8 tif314 krywn_sns
 
tif314 m11 krywn_sns_
tif314 m11 krywn_sns_tif314 m11 krywn_sns_
tif314 m11 krywn_sns_
 
M10 tif314 kls.krywn-sns
M10 tif314 kls.krywn-snsM10 tif314 kls.krywn-sns
M10 tif314 kls.krywn-sns
 
tif306 minggu ke-6_kls.krywn
tif306 minggu ke-6_kls.krywntif306 minggu ke-6_kls.krywn
tif306 minggu ke-6_kls.krywn
 

Recently uploaded

Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdfAksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
JarzaniIsmail
 
Kenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).pptKenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).ppt
novibernadina
 

Recently uploaded (20)

SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAY
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAYSOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAY
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAY
 
PANDUAN PENGEMBANGAN KSP SMA SUMBAR TAHUN 2024 (1).pptx
PANDUAN PENGEMBANGAN KSP SMA SUMBAR TAHUN 2024 (1).pptxPANDUAN PENGEMBANGAN KSP SMA SUMBAR TAHUN 2024 (1).pptx
PANDUAN PENGEMBANGAN KSP SMA SUMBAR TAHUN 2024 (1).pptx
 
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdfAksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
 
MODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdf
 
AKSI NYATA Numerasi Meningkatkan Kompetensi Murid_compressed (1) (1).pptx
AKSI NYATA  Numerasi  Meningkatkan Kompetensi Murid_compressed (1) (1).pptxAKSI NYATA  Numerasi  Meningkatkan Kompetensi Murid_compressed (1) (1).pptx
AKSI NYATA Numerasi Meningkatkan Kompetensi Murid_compressed (1) (1).pptx
 
Pengenalan Figma, Figma Indtroduction, Figma
Pengenalan Figma, Figma Indtroduction, FigmaPengenalan Figma, Figma Indtroduction, Figma
Pengenalan Figma, Figma Indtroduction, Figma
 
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptx
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptxPendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptx
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptx
 
Konseptual Model Keperawatan Jiwa pada manusia
Konseptual Model Keperawatan Jiwa pada manusiaKonseptual Model Keperawatan Jiwa pada manusia
Konseptual Model Keperawatan Jiwa pada manusia
 
Kanvas BAGJA prakarsa perubahan Ahyar.pdf
Kanvas BAGJA prakarsa perubahan Ahyar.pdfKanvas BAGJA prakarsa perubahan Ahyar.pdf
Kanvas BAGJA prakarsa perubahan Ahyar.pdf
 
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKAKELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
 
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdfProv.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
 
PPT MODUL 6 DAN 7 PDGK4105 KELOMPOK.pptx
PPT MODUL 6 DAN 7 PDGK4105 KELOMPOK.pptxPPT MODUL 6 DAN 7 PDGK4105 KELOMPOK.pptx
PPT MODUL 6 DAN 7 PDGK4105 KELOMPOK.pptx
 
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdfMODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
 
Kenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).pptKenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).ppt
 
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHAN
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHANTUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHAN
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHAN
 
Memperkasakan Dialog Prestasi Sekolah.pptx
Memperkasakan Dialog Prestasi Sekolah.pptxMemperkasakan Dialog Prestasi Sekolah.pptx
Memperkasakan Dialog Prestasi Sekolah.pptx
 
AKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTX
AKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTXAKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTX
AKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTX
 
Aksi Nyata Menyebarkan (Pemahaman Mengapa Kurikulum Perlu Berubah) Oleh Nur A...
Aksi Nyata Menyebarkan (Pemahaman Mengapa Kurikulum Perlu Berubah) Oleh Nur A...Aksi Nyata Menyebarkan (Pemahaman Mengapa Kurikulum Perlu Berubah) Oleh Nur A...
Aksi Nyata Menyebarkan (Pemahaman Mengapa Kurikulum Perlu Berubah) Oleh Nur A...
 
PPT Mean Median Modus data tunggal .pptx
PPT Mean Median Modus data tunggal .pptxPPT Mean Median Modus data tunggal .pptx
PPT Mean Median Modus data tunggal .pptx
 
Aksi Nyata Disiplin Positif Keyakinan Kelas untuk SMK
Aksi Nyata Disiplin Positif Keyakinan Kelas untuk SMKAksi Nyata Disiplin Positif Keyakinan Kelas untuk SMK
Aksi Nyata Disiplin Positif Keyakinan Kelas untuk SMK
 

Konsep Array_sns

  • 1. Konsep Array (Larik) Ir. Sihar, MT. T. Informatika – Fak. Teknik Bandung - 2013 Algoritma dan Pemrograman – I (4sks)
  • 2. Daftar Pustaka 1) Goodrich, M.T., Tamassia, R., Mount, D. M. Data Structures and Algorithms in C++ 2nd Edition. Addison-Wiley. 2011. 2) Sedgewick, R. Algorithms in C++, Parts 1-4: Fundamentals, Data Structure, Sorting, Searching, Third Edition 3rd Edition. Addison- Wesley Professional. 1998. 3) Simamora, S.N.M.P. “Diktat Kuliah Algoritma dan Pemrograman-I”, Program studi Teknik Informatika. Fak. Teknik. UTAMA. Bandung. 2013. 4) Simamora, S.N.M.P. “Diktat Kuliah CE113 Sistem Komputer”. Program studi Teknik Komputer. Politeknik TELKOM. Bandung. 2007. 5) Simamora, S.N.M.P. “Diktat Kuliah TIK-1102 Algoritma & Pemrograman-I". Program studi Teknik Informatika, Fak. Teknologi Informasi. UNAI. Bandung. 2006. 6) Simamora, S.N.M.P. “Diktat TIF301 Algoritma dan Pemrograman-1”. Program studi T. Informatika, FTI. Univ. BALE Bandung. 2011.
  • 3. Array (larik) merupakan sebuah variabel yang berisikan sekelompok data dengan tipe-data yang sama, dimana diurutkan mulai indeks ke-0. Dalam matematika, suatu array identik dengan sebuah himpunan. Namun secara math-based, indeks dimulai ke-1 Misalkan: diketahui suatu var: A1 berisikan: -2,3,1,-2,0; maka dapat diuraikan (secara math-based): A1[1] berisikan bilangan -2; A1[2] berisikan bilangan 3; A1[3] berisikan bilangan 1; A1[4] berisikan bilangan -2; A1[5] berisikan bilangan 0; Dan panjang-array A1 = 5; Algoritma dan pemrograman C++: Tampilan jalannya program:
  • 4. Alternatif penulisan Alokasi N panjang-array pada variabel adalah min: senilai panjang-array tsb, maksimal seukuran main-memory, namun bisa dikosongkan apabila isi array terdefinisi.
  • 5. Misalkan: diketahui suatu var: A1 berisikan: -2,3,1,-2,0; maka dapat diuraikan (secara math-based): A1[1] berisikan bilangan -2; A1[2] berisikan bilangan 3; A1[3] berisikan bilangan 1; A1[4] berisikan bilangan -2; A1[5] berisikan bilangan 0; Dan panjang-array A1 = 5; Menampilkan (math-based) A1[3] dengan algoritma dan pemrograman C++: Tampilan jalannya program:
  • 6. Teknik swapping ⇒ mempertukarkan isi dua variabel, sehingga membutuhkan sebuah temporary-variable (temp_var). Contoh: ada dua variabel, A=3 dan B=-12; jika akan dipertukarkan isi kedua variabel tersebut maka diuraikan sebagai berikut: x←temp_var; x←A; A←B; B←x; Algoritma dan pemrograman C++: Tampilan jalannya program:
  • 7. Misalkan: diketahui suatu var: A berisikan: -1.2,3,1.2,-2,0,1; maka dapat diuraikan (secara math-based): A[1] berisikan bilangan -1.2; A[2] berisikan bilangan 3; A[3] berisikan bilangan 1.2; A[4] berisikan bilangan -2; A[5] berisikan bilangan 0; A[6] berisikan bilangan 1; Dan panjang-array A = 6; Mempertukarkan (math-based) A[1] ↔A[6] dengan algoritma dan pemrograman C++: Tampilan jalannya program:
  • 8. Misalkan: diketahui suatu var: H berisikan: -1.2,3.1,1.2,-2,0,1,0; maka dapat diuraikan (secara math-based): H[1] berisikan bilangan -1.2; H[2] berisikan bilangan 3.1; H[3] berisikan bilangan 1.2; H[4] berisikan bilangan -2; H[5] berisikan bilangan 0; H[6] berisikan bilangan 1; H[7] berisikan bilangan 0; Dan panjang-array H = 7; Menampilkan isi z sebanyak 3x secara vertikal dengan algoritma dan pemrograman C++: apabila var: z menampung perkalian H[2] dengan H[6]; (math-based) Tampilan jalannya program:
  • 9. Penerapan metode array pada karakter untuk penanganan kasus string (menampilkan kata/kalimat). String merupakan sekumpulan karakter yang dikelompokkan menjadi mengandung sebuah makna. Misalkan: sebuah var: dX ∈ 's','u','k','s','e','s'; maka dapat diuraikan (indeks secara math-based): dX[1] berisikan karakter ‘s’; dX[2] berisikan karakter ‘u’; dX[3] berisikan karakter ‘k’; dX[4] berisikan karakter ‘s’; dX[5] berisikan karakter ‘e’; dX[6] berisikan karakter ‘s’; Dan panjang-array dX = 6;
  • 10. Alternatif penulisan lain Misalkan: sebuah var: dX ∈ 's','u','k','s','e','s'; maka dapat diuraikan (indeks secara math-based): dX[1] berisikan karakter ‘s’; dX[2] berisikan karakter ‘u’; dX[3] berisikan karakter ‘k’; dX[4] berisikan karakter ‘s’; dX[5] berisikan karakter ‘e’; dX[6] berisikan karakter ‘s’; Dan panjang-array dX = 6;
  • 11. Sebuah variabel, zK, diisikan kata: ”rosalina”. Apabila karakter ‘3’ disisipkan ke setiap indeks genap (math-based), maka tuliskan algoritma dan pemrograman C++ untuk menyelesaikan persoalan ini. Tampilkan juga kata baru setelah proses penyisipan dilakukan. Kasus: Solusi: Konstruksi-algoritma: zK←”rosalina”; var: zK ∈ ‘r',‘o',‘s',‘a',‘l',‘i',‘n',‘a'; maka dapat diuraikan (indeks secara math-based): zK[1] berisikan karakter ‘r’; zK[2] berisikan karakter ‘o’; zK[3] berisikan karakter ‘s’; zK[4] berisikan karakter ‘a’; zK[5] berisikan karakter ‘l’; zK[6] berisikan karakter ‘i’; zK[7] berisikan karakter ‘n’; zK[8] berisikan karakter ‘a’; Dan panjang-array zK = 8; disisip ‘3’; disisip ‘3’; disisip ‘3’; disisip ‘3’; setelah disisipkan="r3s3l3n3"; Algoritma dan pemrograman C++: Tampilan jalannya program:
  • 12. Sebuah variabel, s1, diisikan bilangan: 9,-2,2,-2,3,0. Apabila masing-masing isi s1 ditambahkan dengan enam bilangan yang masing-masing diisikan oleh end-user, maka tuliskan algoritma dan pemrograman C++ untuk menampilkan hasil penjumlahan tersebut apabila keenam bilangan ini ditampungkan kembali ke s1. Kasus: Solusi: Konstruksi-algoritma: Misalkan var: S1 menampung keenam bilangan yang di- input-kan Tampilan jalannya program: AlgoritmadanpemrogramanC++: Asumsi math-based: s1[1]←s1[1]+S1[1]; s1[2]←s1[2]+S1[2]; ... s1[6]←s1[6]+S1[6];
  • 13. Tampilkanlah sebuah kata dengan panjang lima karakter dimana kata tersebut didapatkan dengan input-value by end-user. Kelima karakter tersebut ditampungkan ke var: K. Sertakan dengan tampilan jalannya program. Kasus: Solusi: Konstruksi-algoritma: asumsi math-based: K[1]←”...”; K[2]←”...”; K[3]←”...”; Algoritma dan pemrograman C++: Tampilan jalannya program: ... K[5]←”...”;
  • 14. Ada lima bilangan yang akan ditampungkan ke var array z. Jika setiap bilangan adalah penjumlahan akumulatif dengan bilangan pertama adalah input-an dari end-user, maka tampilkan isi z dan total nilai akumulatif penjumlahan kelima bilangan tersebut. Kasus: set i=indeks; set x=0; masukkan a?; x=x+a; z[1]←x; ... s.d i=5; Solusi: Konstruksi-algoritma: asumsi math-based: Misalkan lima bilangan yang akan dimasukkan: 2,3,2,-1,2; Maka dapat diuraikan sbb: i=1; x←0+2; z[1]←2; i=2; x←2+3; z[2]←5; i=3; x←5+2; z[3]←7; i=4; x←7+-1; z[4]←6; i=5; x←6+2; z[5]←8; dan, total=8; Algoritma dan pemrograman C++: Tampilan jalannya program:
  • 15. Tuliskan sebuah aplikasi pemrograman apabila ditetapkan kriteria berikut ini: Jika memutuskan pilihan-1: mengerjakan statement berikut: z←A[i]+3; dimana z adalah variabel array; dan A∈{5,-1,2,5,-2}; Jika memutuskan pilihan-2: menampilkan kata:”widyatama” dengan metode array dan struktur kendali proses: looping/repetition. Jika memutuskan pilihan-3: mengerjakan statement berikut: z←B[i]⊕3; dimana z adalah variabel array; dan B∈{0x5,1,0,02,2}; Kasus: ⇒ ⇒ ⇒ Solusi: Pada persoalan yang dikemukakan ditunjukkan bahwa pilihan-1 dan 3 untuk operand-hasil pada statement tersebut ditampungkan pada variabel yang sama yakni: var: z. Pada pilihan No.1: (asumsi math-based) z[1]←5+3; z[1]=8; z[2]←-1+3; z[2]=2; z[3]←2+3; z[3]=5; z[4]←5+3; z[4]=8; z[5]←-2+3; z[5]=1; Pada pilihan No.3: (asumsi math-based) z[1]←0x5 ⊕ 3; z[1]=6; z[2]←1 ⊕ 3; z[2]=2; z[3]←0 ⊕ 3; z[3]=3; z[4]←02 ⊕ 3; z[4]=1; z[5]←2 ⊕ 3; z[5]=1;
  • 17. Apabila diketahui sebuah statement berikut ini: z←A[i]+3; dimana z adalah variabel non-array; dan A∈{0.5,1,-0.2,7,-2}; Tentukan z, dan tampilkan proses counter di z untuk statement tersebut. Sertakan dengan tampilan jalannya program. Kasus: i=1; z=z+A[1]+3; tampilkan z; ↵ i=2; z=z+A[2]+3; tampilkan z; ↵ i=3; z=z+A[3]+3; tampilkan z; ↵ i=4; z=z+A[4]+3; tampilkan z; ↵ i=5; z=z+A[5]+3; tampilkan z; ↵ Solusi: Apabila z adalah variabel non-array, maka ditetapkan lakukan proses akumulatif dan tampilkan isi z setiap hasil counter dieksekusi. Konstruksi-algoritma: (1) ⇒ 0.5+3=3.5; (2) ⇒ 3.5+1+3=7.5; (3) ⇒ 7.5+(-0.2)+3=10.3; (4) ⇒ 10.3+7+3=20.3; (5) ⇒ 20.3+(-2)+3=21.3; Algoritma dan pemrograman C++: Tampilan jalannya program:
  • 18. Ada dua variabel array, masing-masing: a1 dan a2; dengan rincian sebagai berikut: a1∈ {-1.5,2,0,-1,1,2,2,3}; a2∈ {-1,0.5,1.2,0,-1,0}; Tentukan A apabila ditetapkan statement: A←a1[i]+a2[j]; dimana A adalah variabel array dengan panjang sama dengan var: a2. Kasus: Solusi: Konstruksi-algoritma: asumsi math-based: Jika N adalah panjang-array dari suatu variabel, maka: N(a1) = 8; N(a2) = 6; N(A) = N(a2) = 6; A[1] ← -1.5 + -1; A[2] ← 2 + 0.5; A[3] ← 0 + 1.2; A[4] ← -1 + 0; A[5] ← 1 + -1; A[6] ← 2 + 0; Disimulasikan sbb: Algoritma dan pemrograman C++: Tampilan jalannya program: Statement: A[j]←a1[i]+a2[j]; i=j=1...6;