Anda di halaman 1dari 18

MODUL

ARRAY 5

ALGORITMA DAN PEMOGRAMAN 1 C++


ARRAY (LARIK)

FINA KHOIRUNNISA/ 1B
NIM. 2155201007

DOSEN PENGAMPU
Fatra Nonggala Putra, S.Pd., M.Kom.
NIDN. 0701119002

PROGRAM SARJANA
PROGRAM STUDI ILMU KOMPUTER
FAKULTAS ILMU EKSAKTA
UNIVERSITAS NAHDLATUL ULAMA BLITAR | 2021
A. Tujuan
1. Mengenal dan memahami penggunaan array dalam listing program.
2. Membuat program sederhana dengan menerapkan konsep array
B. Alat dan Bahan
1. Laptop
2. CodeBlocks

C. Dasar Teori
Array adalah kumpulan dari nilai-nilai data bertipe sama dalam urutan tertentu
yang menggunakan sebuah nama yang sama. Nilai-nilai data di suatu array disebut
dengan elemen-elemen array. Letak urutan dari elemen-elemen array ditunjukkan oleh
suatu subscript atau indeks. Pada saat pendeklarasian array, kompiler mengalokasikan
memori yang cukup untuk menampung semua elemen sesuai dengan yang
dideklarasikan.
Adapun array dibedakan menjadi tiga macam, yaitu array berdimensi satu,
array berdimensi dua, dan array berdimensi banyak.
1. Array Dimensi Satu
Banyak array yang hanya memiliki satu dimensi, seperti sejumlah orang dari setiap
umur. Satu-satunya persyaratan untuk menentukan elemen adalah usia.
tipe_elemen_array nama_array[jumlah_elemen_array];
misal: float suhu[5];
Setelah suatu array didefinisikan, elemen array dapat diakses dengan bentuk:
nama_array[indeks_array].
Sebagai pemrogram, Anda harus mengusahakan agar tidak terjadi
pengaksesan elemen di luar jumlah elemen yang didefinisikan. Misalnya,
didefinisikan: int suhu[4];
harus dipastikan bahwa tidak ada pengaksesan elemen suhu bernomor di luar 0
sampai dengan 3, karena dapat menyebabkan data dari variabel atau array lain
berubah. Perlu diketahui, C++ tidak akan memberikan pesan kesalahan kalau Anda
melakukan pengaksesan dengan nilai indeks yang berada di luar nilai yang telah
didefinisikan.
2. Array Dimensi Dua
Ada beberapa array dua dimensi, seperti jumlah kantor di setiap lantai di setiap
gedung kampus. Elemen yang dibutuhkan adalah elemen bangunan dan jumlah lantai.
tipe_elemen_array nama_array[jumlah_baris_array][jumlah_kolom_array];
misal: int data_lulus[4][3];
3. Array Dimensi Tiga
Beberapa array memiliki tiga dimensi, seperti nilai dalam tiga dimensi ruang, seperti
koordinat x, y, dan z dalam koordinat ruang. tipe_elemen_array nama_array[ukuran1]
[ukuran2]...[ukuranN];
misal: double data_angka[2][3][4];

Latihan
1. – Latihan 1
Nilai Mahasiswa array
- Source Code
#include <stdio.h>
#include <conio.h>
using namespace std;

int main()
{
int index, nilai[10];
printf(" Masukkan nilai 10 mahasiswa: \n");
for(index=0; index<10; index++)
{
printf("mahasiswa %d: ", index+1);
scanf(" %d", &nilai[index]);
}
printf("nilai mahasiswa yang telah dimasukkan ");
for (index=0; index<10; index++);
{
printf(" %d ", nilai[index]);
}
getch();
}
- Screenshot hasil

- Penjelasan Program
o Program di atas merupakan program sederhana, yang ditujukan untuk
menampilkan nilai mahasiswa yang telah diinputkan dalam array satu dimensi
secara berurutan mulai 1-10 dengan keluaran yang memiliki jarak antara nilai
yang satu dengan nilai yang lain, cara kerja program diatas user
mamasukkan inputan mulai dari ke 1 sampai ke 10, kemudian program
ini menggunakan for untuk perulangan seperti di script for
(index=1;index<=10;index++)maksudnya adalahnilai atau angka dimulai
dari 1, apakah lebih kecil dari 10 atau tidak. Untuk script
“mahasiswa”<<indexartinya adalah ketika user memasukkan nilai
mahasiswa ke 1, kemudian di enter maka program berikutnya akan
memasukkan nilai ke 2 begitu hingga mahasiswa ke 10 karena batas dari
program diatas 10.

2. Array Dimensi 2
- Source code
#include<stdio.h>
#include<conio.h>
using namespace std;
int main ()
{
int baris, kolom, matriks[3][4];
printf("Masukkan elemen array : \n");
for (baris=0; baris<3; baris++)
{
for (kolom=0; kolom<4; kolom++)
{
printf("Matriks[%i][%i]",baris+1, kolom+1);
scanf("%i", &matriks[baris][kolom]);
}
printf("\n");
}
printf("Isi array : \n");
for (baris=0; baris<3; baris++)
{
for (kolom=0; kolom<4; kolom++)
{
printf("%i", matriks [baris] [kolom]);
}
printf("\n");
}
getch();
}
- Screenshot hasil
- Penjelasan Program
o Program di atas merupakan program yang ditujukan untuk
melakukan proses pembuatan matriks dengan memasukkan satu per satu
baris dan kolom yang sebagai isi dari matriks yang akan dibuat. Pertama
mendeklarasikan baris, kolom dan matriks [3][4]. Kemudian user diminta
untuk memasukkan angka yaitu mulai dari matriks baris ke 1 sampai 4
sebanyak tiga kali. Ada 2 script perulangan for yang digunakan dalam
program diatas yang pertama “for (baris=0; baris<3; baris++)” apabila baris
bernilai 1 maka benar dan akan dilanjutkan ke proses berikutnya. Jika
bernilai benar maka baris kedua ini akan bertambah 1. Pada baris kedua
otomatis nilai baris akan menjadi 2 dan jika baris lebih kecil dari 3
maka program akan memprosesnya. Selanjutnya untuk for (kolom=0;
kolom<4; kolom++) digunakan sebagi kolom. Apabila kolom bernilai 1
maka akan dilanjutkan ke proses berikutnya karena bernilai benar.

3. Menghitung Banyaknya Karakter


- source kode
#include<stdio.h>
#include<iostream>
#include<conio.h>
using namespace std;
int main()
{
char kalimat []="Saya adalah anak UM Teknik Elektro PTI 2016";
int hitung, i;
//system ("cls");
for (i=0; kalimat[i] !='\0'; i++)
{
hitung++;
}
printf("Kalimat %s mempunyai %i huruf", kalimat, hitung);
printf("dan disimpan dalam %i bytes \n", hitung+1);
}
- Screenshoot hasil
- Penjelasan Program
o Program di atas merupakan program yang ditujukan untuk menampilkan
kalimat “Saya adalah anak UM Teknik Elektro PTI 2016 ”. Program di
atas dimulai dengan mendeklarasikan variabel i dan hitung bernilai 0
bertipe data integer serta array bernama kalimat berisi “Saya adalah anak
UM Teknik Elektro PTI 2016” yang bertipe data char. Setelah itu program
akan melakukan penghitungan jumlah karakter pada isi data array dengan
menggunakan perulangan. Konsep penghitungannya dengan memindai satu
per satu karakter dan setiap pemindaian akan menambahkan nilai 1 pada
variabel hitung sehingga setelah selesai pemindaian akan mendapat jumlah
keseluruhan karakter. Setelah itu program akan menampilkan jumlah
karakter dan bytesdata dengan formula jumlah karakter ditambah 1.
4. Menampilkan Skor Terbaik
- Source kode
#include <iostream>

using namespace std;

int main()
{
int skor[] = {81, 94, 76, 88, 42,};
int jmlsiswa= sizeof (skor) / sizeof (skor[0]);
int skormax = 0;
for(int siswa=0; siswa<jmlsiswa; siswa++)
if(skor[siswa]>skormax)
skormax=skor[siswa];
cout<<"skor terbaik adalah "<<skormax<<"\n";
return 0;
}
- Screenshoot hasil

- Penjelasan program
o Program di atas digunakan untuk menampilkan skor terbaik dari data
dalam array satu dimensi yang telah dideklarasikan, dimana program ini
menggunakan perulangan for(int siswa=0; siswa<jmlSiswa; ++siswa)
kemudia disertai if(skor[siswa]>skorMax maka skorMax=skor[siswa].
.

D. Tugas Praktikum
1. –Kata terbalik
- Source Code
#include <iostream>
#include <conio.h>
#include <string.h>
using namespace std;
int main()
{
char kata[1000];
cout<<"masukkan kata\t\t: ";
cin.getline (kata, sizeof (kata));
cout<<"kata yang terbalik\t: ";
for (int i=strlen (kata)-1; i>=0; i--)
{cout<<kata[i]; }

getch();
}
- Penjelasan Program
 Program di atas merupakan program yang ditujukan untuk melakukan
pembalikan kata ataupun kalimat yang telah diinputkan. Pertama
mendeklarasikan tipe data char yang berisi 100 karakter huruf,
kemudian kata atau karakter yang sudah dimasukkan akan diproses dengan
perulangan, pada program ini kata pertama akan di tampilkan di
akhir sedangkan huruf terakhir akan ditempatkan diposisi terdepan
kata sehingga tulisan terbalik. Sehinggakata/kalimatakan ditampilkan
secara terbalik oleh program.

- Screenshot Hasil

2. Tabel harga fotocopy


- source kode
#include <iostream>
#include <conio.h>
using namespace std;

int main()
{
int lembar[100],harga[100],q;
for(int q=0;q<100;q++)
{
lembar[q]=q+1;
harga[q]=lembar[q]*80;
if(lembar[q]%20==0)
{
harga[q]=lembar[q]*60;
}
}
cout<<"//~~~~~~~~~~~~~~~~//\n";
cout<<"~~~[ Tabel Harga Fotocopy ]~~~~~\n";
cout<<"//~~~~~~~~~~~~~~~~//\n";
cout<<" Jumlah (1lbr) | harga (Rp) |\n";
cout<<"//~~~~~~~~~~~~~~~~//\n";
for(int q=0;q<100;q++)
{
cout<<"|\t"<<lembar[q];
cout<<"\t|\t"<<harga[q]<<"\t|\n";

int lembar [100], harga [100];


for (int a=0; a<100; a++){
lembar[a]=a+1;
harga[a]=lembar[a]*80; {
if(lembar[a]%20==0)
harga[a]=lembar[a]*60;
}

cout<<"|\t HARGA FOTOCOPY |\n";


cout<<".......................\n";
cout<<"| jmlh lembar | harga (Rp) |\n";
cout<<".......................\n";
for (int b=0; b<100; b++){
cout<<"|\t"<<lembar[b];
cout<<"\t\t"<<harga[b]<<"\t|\n";}
cout<<"......................\n";
getch();
}
}
- screenshoot hasil

- penjelasan program
o Program yang ditujukan untuk menampilkan daftar harga dari
fotokopi yang berbentuk tabel dimana setiap lembarnya memiliki
hargaRp. 80. Pada program diatas user tidak usah memasukkan inputan
data karena pada program diatas hanya menampilkan data yang telah
diolah oleh rumus. Konsep kerjanya adalah menampilkan jumlah lembar
dimulai dengan 1 dan akan bertambah 1 setiap terjadi perulangan sampai
bernilai 100. Untuk harganya didapat dari perkalian antara jumlah lembar
*80 pada setiap perulangannya.
E. Tugas Rumah
-tugas rumah 1
- Source Code
#include <iostream>
#include <conio.h>
#include <windows.h>
using namespace std;
int main ()
{

int jumlah, v=0, k=0, ng=0;


char kata [100];
cout<<"masukkan kata : ";
cin.getline (kata,100);
jumlah=strlen(kata);
for(int i=0; i<jumlah; i++)
{
if(kata[i]=='a' || kata[i]=='A' || kata[i]=='i' || kata[i]=='I' || kata[i]=='u' ||
kata[i]=='U' || kata[i]=='e' || kata[i]=='E' || kata[i]=='o' || kata[i]=='O')
v=v+1;
else if (kata[i]=='b' || kata[i]=='c' || kata[i]=='d' || kata[i]=='f' ||
kata[i]=='g' || kata[i]=='h' || kata[i]=='j' || kata[i]=='k' ||
kata[i]=='l' || kata[i]=='m' || kata[i]=='n' || kata[i]=='p' ||
kata[i]=='q' || kata[i]=='r' || kata[i]=='s' || kata[i]=='t' ||
kata[i]=='u' || kata[i]=='v' || kata[i]=='w' || kata[i]=='x' ||
kata[i]=='y' || kata[i]=='z')
k=k+1;
else
ng=ng+1;
}
cout<<"jumlah huruf vokal : "<<v<<endl;
cout<<"jumlah huruf konsonan : "<<k<<endl;
cout<<"jumlah karakter lain : "<<ng<<endl;
getch();
}
- Screenshoot hasil
- Penjelasan program
o Program ini mendeteksi jumlah huruf vocal,konsonan, dan karakter lain
yang terdapat dalam kata yang user inputkan. Program menghitung jumlah
karakter vokal, konsonanmaupun karakter lainnya pada katahasil inputan
user. Penghitungan karakter didalam program ini adalah dengan
melakukan pemindaian setiap huruf pada char dengan menggunakan
perulangan.
- Tugas rumah 2
Tabel logika OR, AND, NOT, XOR
- Source kode
#include <iostream>
#include <conio.h>
#include <windows.h>
using namespace std;
int main()
{
int p[4]={1,1,0,0}; int q[4]={1,0,1,0};
int o[4], a[4], n[4], x[4];
for (int i=0; i<4; i++)
{
o[i]= p[i] || q[i];
a[i]= p[i] && q[i];
n[i]=! p[i];
x[i]= p[i]^q[i];
}
cout<<"-----------------------------------------------\n";
cout<<"| P | Q | P OR Q | P AND Q | P NOT P | P XOR Q|\n";
cout<<"-----------------------------------------------\n";
for(int i=0; i<4; i++)
{
cout<<"| "<<p[i]<<" ";
cout<<"| "<<q[i]<<" ";
cout<<"| "<<o[i]<<" ";
cout<<"| "<<a[i]<<" ";
cout<<"| "<<n[i]<<" ";
cout<<"| "<<x[i]<<" |"<<endl;
}
cout<<"-----------------------------------------------\n";
getch();
}
- Hasil screenshoot

- Penjelasan program
o Program ini menjelaskan tentang nilai P dan Q dengan dimulai
mendeklarasikan array p berisi ( 1 , 1 , 0 , 0 ) dan q berisi ( 1 , 0 , 1 , 0 )
dengan masing-masing berjumlah 4 data. Kemudian kita masukkan rumus
Logika AND, OR, NOT, XOR, sehingga tampilan program sama seperti yang
diatas.
- Tugas rumah3
Bilangan fibonanci
- Source kode
#include <iostream>
#include <conio.h>
#include <windows.h>
using namespace std;
int main()
{

int n, bil1=1, bil2=1, jawab, jum=0;


int i, j=2, fibonacci[100];
cout<<"bilangan fibonacci pada deret ke- ";
cin>>n;
fibonacci[0]=bil1;
fibonacci[1]=bil2;
for(i=1; i<=n-2; i++)
{
jawab=bil1+bil2;
bil1=bil2;
bil2=jawab;
fibonacci[j++]=jawab;
}
cout<<"adalah : "<<fibonacci[n-1]<<"\n";
for(i=1; i<=fibonacci[n-1]; i++)
{
if(fibonacci[n-1]%i==0)
{ jum++; }
if (jum==2)
{
cout<<fibonacci[n-1] <<"adalah bilangan prima"<<endl; }
else
cout<<fibonacci[n-1] <<" adalah bukan bilangan prima"<<endl;
}
getch();
}

- Screenshoot hasil

- Penjelasan program
o Program ini digunakan untuk menampilkan bilangan fibonacci k-
n, user diperintahkan untuk memasukkan bilangan fibonacci ke-n
dan program ini juga mengidentifikasikan bilangan fibonacci ke-n
mana yang termasuk bilangan prima dan ukan bilangan prima, program
ini menggunakan perulangan for. Misal user memasukkan nilai n=2, maka
akan keluar bilangan fibonacci ke 2 yaitu 1, dimana 1 adalah bukan bilangan
prima, sedangkan apabila user memasukkan nilai n=6, maka akan keluar
bilangn fibonacci ke 6 yaitu 8, dimana 8 adalah bukan bilangan prima.

F. Kesimpulan dan Saran


Dalam belajar pemrograman terlebih dahulu harus mengerti tentang
sistem operasi, algoritma dan flowchart. Dibutuhkan ketelitian dalam penulisan
kode program bahasa C maupun C++, karena salah penulisan sekecil apapun tetap
tidak akan bisa di eksekusi oleh program (error).
Array merupakan sebuah variabel yang dapat menyimpan lebih dari satu nilai
yang memiliki tipe data sama. Hal ini berbeda dengan variabel biasa yang
hanya mampu menampung satu buah nilai. Setiap nilai yang disimpan di dalam
array disebut dengan elemen array, sedangkan nilai urut yang digunakan untuk
mengakses elemennya disebut dengan indeks array. Penggunaan array dalam
program akan membuat program lebih efisien dan mempersingkat
waktu.Array merupakan suatu fungsi yang memiliki elemen elemen, yang
elemen elemen tersebut biasa dikatakan sebagai elemen array. Urutan urutan dari
elemen elemen array biasa ditunjukkan oleh suatu subscript atau index. Untuk
index array secara default dimulai dari nol (0), dan untuk menampilkan isi elemen
elemen dari array ada dua cara, yaitu secara Row Major Order (secara baris per
baris), dan secara Column Major Order (secara kolom per kolom), bentuk dari array
biasanya berupa matriks atau tabel. Array merupakan kumpulan dari nilai-nilai data
yang bertipe sama dalam urutan tertentu yang menggunakan nama yang sama. Letak
atau posisi dari elemen array ditunjukan oleh suatu index. Dilihat dari dimensinya
array dapat dibagi menjadi array dimensi satu, array dimensi dua, dan array multi
dimensi.
- Latihan 1Modul 5
- Source kode
#include <iostream>
using namespace std;
int main(){
int array[100], i, n;
float rata, total=0;
cout << "===============================================" <<
endl;
cout << "Program Menghitung Nilai Rata-rata dengan Array" << endl;
cout << "===============================================" <<
endl;
cout << "Masukkan banyaknya elemen array: ";
cin >> n;
for(i=0; i<n; i++){
cout << "Nilai Ke-" << i+1 << " : ";
cin >> array[i];
total = total + array[i];
}
rata = total/n;
cout << "Hasil nilai total adalah : " << total << endl;
cout << "Hasil rata-rata adalah : " << rata << endl;
return 0;
}
- Hasil srceenshoot
- Latihan 2 modul
- Source kode
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{

int angka, jumlah, max, min;


cout<<"//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\n";
cout<<"//~~~~~[ Mencari nilai min dan max ]~~~~~~//"<<endl;
cout<<"//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\n";
cout << endl;
cout << "masukkan jumlah elemen: ";
cin >> jumlah;
cout << endl;

for (int i = 0; i < jumlah; i++) {

cout << "Nilai ke-"<<i+1<<" : ";


cin >> angka;

if ( i == 0 ) {
min = angka;
max = angka;
}
else if ( min > angka ) {
min = angka;
}
else if ( max < angka) {
max = angka;
}
else {}
}

cout << endl;


cout << "Nilai terkecil : " << min << endl;
cout << "Nilai terbesar : " << max << endl;

getch();
}
- Hasil screenshoot

- Latihan 3 modul
- Source kode
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
int matrix[3][3];
int i,j;
float rata2, jumlah;
cout<<"//~~~~~~~~~~~~~~//\n";
cout<<"//~~[ Program Menghitung Nilai ]~~//\n";
cout<<"//~~~[ Rata-rata 2 dimensi ]~~~~//\n";
cout<<"//~~~~~~~~~~~~~~//\n";
cout<<endl;
cout<<"|~~~~~~~~~~~~~~~~~|\n";
cout<<"|Baris ke \t"<<"|"<<" Kolom ke \t|"<<"Nilai\t\t|\n";
cout<<"|~~~~~~~~~~~~~~~~~|\n";
for(i=1;i<=3;i++)
{
for(j=1;j<=3;j++)
{
cout<<"|\t"<<i<<"\t|\t"<<j<<"\t|\t";
cin>>matrix[i][j];
}
cout<<"|~~~~~~~~~~~~~~~~~|\n";
}
for(i=1;i<=3;i++)
{
for(j=1;j<=3;j++)
{
cout<<matrix[i][j]<<" ";
}
cout<<endl;
cout<<endl;
}
jumlah = 0;
for(i=1;i<=3;i++)
{
for(j=1;j<=3;j++)
{
jumlah = jumlah + matrix[i][j];
}
rata2 = jumlah/9;
cout<<"//~~~~~~[ Hasil ]~~~~~//\n";
cout<<" Nilai Rata – rata = "<<rata2<<endl;

}
return 0;
}
- Hasil screenshoot

G. Daftar Pustaka
https://drive.google.com/file/d/1Yr6aLVsJU48V_f3MHmz_IM3XgwFv-w77/view?
usp=sharing

H. Riwayat Penulis
Nama : Fina Khoirunnisa
NIM : 2155201007
Kelas : 1B Ilmu Komputer
Alamat : Ds. Margomulyo, Kec.Panggungrejo, Kab.Blitar.

Anda mungkin juga menyukai