Anda di halaman 1dari 6

LAPORAN PRAKTIKUM III

ALGORITMA PEMROGRAMAN 2
TEKNIK INFORMATIKA/S1

MUHAMMAD ABDULLAH AL MUWAHHID


135410025

LABORATORIUM TERPADU
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
AKAKOM
YOGYAKARTA

ARRAY 1 DIMENSI
PENJELASAN
PRAKTIK
A. PRAKTIK 3

#include <iostream>
#include <conio.h>
using namespace std;
int main(){
int A[5]={20, 9, 1986, 200, 13};
int n, hapus;
cout<<"Data yang lama \n";
for(n = 0; n<5;n++){
cout<<" "<<A[n];
}
cout<<"\n Data yang dihapus : ";
cin>>hapus;
cout<<"\nData yang baru : \n";
for(n=hapus-1;n<5-1;n++){
A[n]=A[n+1];
}
for(n=0;n<4;n++){
cout<<" "<<A[n];
}
}
HASIL :

PENJELASAN :

Pada praktik 3 ini dibuat program array 1 dimensi dengan fitur hapus data array. Teknisnya mula
mula dilakukan penginstanan data array terlebih dahulu, pada praktik tersebut terdapat 5 data di
dalam array A, selanjutnya dilakukan tampil data menggunakan perulangan for seperta penjelasan
yang terdapat pada listing.
Fitur hapus dilakukan dengan menggunakan input data, input data yang diberikan adalah input
indeks data yang ingin dihapus. Pada screenshot diatas data yang akan dihapus adalah pada index
ke 2, selanjutnya dilkaukan pengecekan dengan menggunakan perulangan. Teknis dari
pnegecekan menggunakan perulangan for dengan beberapa parameter dibawah :
- Var n sebagai var. awal untuk dilakukan pengecekan, nilainya adalah hapus 1, n merupakan
variabel inputan indeks yang akan dihapus, menggunakan hapus-1 dikarenakan indeks array
dimulai dari 0.

N < 5-1, merupakan berapa banyak data akan diulang, perintah 5-1 dikarenakan nilai akan
ditumpuk setelah indeks yang dihapus ke indeks sebelumnya, sehingga jika dihitung setelah
dihapus perulangan akan berkurang 1 kali.
N++, untuk perintah yang diberikan diakhir perulangan.

Adapun isi dari perulangan adalah instan nilai dari array A[] untuk indeks n dengan nilai array
A[] untuk indeks berikutnya yaitu n+1. Sehingga data yang akan dihapus akan ditimpa dengan
data setelahnya.
Perintah berikutnya adalah menampilkan data yang baru, perulangan dilakukan sebanyak jumlah
data dikurang 1, yaitu 4 kali.
LATIHAN
Mengganti perintah for pada latihan menjadi while.

B. LATIHAN

#include <iostream>
#include <conio.h>
#define max 10
using namespace std;
int fibo[max];
int main(){
int i;
fibo[1]=1;
fibo[2]=1;
i=3;
while(i<max){
fibo[i]=fibo[i-2]+fibo[i-1];
i++;
}
cout<<max<<" bilangan Fibonacci Pertama ada di : \n";
i = 1;
while(i<max){
cout<<" "<<fibo[i];
i++;
}
}

HASIL :

PENJELASAN :

Pada latihan ini dibuat 2 perulangan yang dirubah yaitu perulangan for pertama dengan
menggunakan parameter berikut :
- Var i untuk variabel awal dengan nilai 3, dengan perulangan sebanyak x kali selama i kurang
dari variabel max, dimana max bernilai 10.
- Selanjutnya dilakukan perintah instansi nilai array fibo untuk indeks ke i dengan nilai nya
adalah fibo di indeks ke i-2 dijumlahkan dengan nilai fibo di indeks ke i-1.

Perintah terakhir adalah penjumlahan 1 nilai untuk variabel i.

Perulangan berikutnya adalah sebagai berikut :


-

Var i untuk variabel awal dengan nilai 1, dengan perulangan sebanyak x kali selama i kurang
dari variabel max, dimana max bernilai 10.
Selanjutnya dilakukan perintah untuk menampilkan output dengan output nilai dari array fibo
untuk indeks ke i.
Perintah terakhir adalah penjumlahan 1 nilai untuk variabel i.

TUGAS
C. TUGAS 1

#include <stdio.h>
#include <iostream>
#include <conio.h>
using namespace std;
void baca_data(int A[], int n){
int i;
for(i=0;i<n;i++){
cout<<"Data ke "<<(i+1)<<" = ";
cin>>A[i];
}
}
void cetak_data(const int A[], int n){
int i;
for(i=0;i<n;i++){
cout<<A[i]<<" ";
}
cout<<endl;
}
void insertion_sort(int A[], int n){
int j, k, temp;
for(k=0;k<=n;k++){
temp = A[k];
j=k-1;
while(temp<=A[j] && (j>0)){
A[j+1] = A[j];
j = j-1;
}
if (temp >= A[j])
A[j+1] = temp;
else{
A[j+1] = A[j];
A[j]=temp;
}
}
}
int main(){
int data[10],n;
cout<<"Banyak data : ";
cin>>n;
baca_data(data,n);
insertion_sort(data,n);
cetak_data(data,n);
getch();}

HASIL :

PENJELASAN :

Program ini digunakan untuk melakukan pengurutan dengan insertion sort,


digunakan 3 method. Method pertama adalah baca_data, method ini
digunakan untuk membaca serta menginputkan data awal yang ingin
diurutkan. Method kedua adalah cetak_data, method ini digunakan untuk
menampilkan data yang nantinya sudah dilakukan proses pengurutan.
Method ketiga adalah insertion_sort, method ini digunakan untuk
memproses pengurutan data pada inputan yang diberikan.
Method pertama yaitu baca_data yang berupa method void dan memiliki 2
parameter, parameter pertama adalah int A[] yang berupa array,
parameter kedua adalah int n yang merupakan parameter yang
difungsikan untuk memuat jumlah data.
Pada method ini diinstan variabel i dengan nilai 0, ini dilakukan untuk
memuat input dari array pertama, yaitu array ke-0. Selanjutnya dilakukan
perulangan for, pada perulangan ini persyaratannya adalah ketika i < n,
sedangkan n nantinya berisi nilai dari jumlah data yang akan diinstan di
method main. Di dalam perulangan tersebut terdapat perintah untuk
menginputkan data array hingga jumlah input kurang dari n.
Method kedua yaitu cetak_data yang berupa method void dan memiliki 2
parameter, parameter pertama adalah int A[] yang berupa array,
parameter kedua adalah int n.
Pada method ini diinstan variabel i dengan nilai 0, ini dilakukan untuk
memuat output dari array pertama, yaitu array ke-0. Selanjutnya dilakukan
perulangan for, pada perulangan ini persyaratannya adalah ketika i < n,
sedangkan n nantinya berisi nilai dari jumlah data yang akan diinstan di
method main. Di dalam perulangan tersebut terdapat perintah untuk
menampilkan output data array hingga jumlah input kurang dari n.
Method ketiga adalah insertion_sort yang berupa method void dan memiliki
2 parameter, parameter pertama adalah int A[] yang berupa array,
parameter kedua adalah int n.
Method ini mengandalkan variabel temp untuk menjadikan wadah
sementara data yang akan dipindah.
Pada method ini, digunakan perulangan sesuai jumlah data yang ada
dengan beberapa kriteria keadaan yang akan dilakukan sorting:
Keadaan pertama, menggunakan perulangan dimana temp lebih kecil
atau sama dengan A[j] dan j > 0, maka akan masuk ke perumusan
A[j+1] = A[j]; j = j-1;

Keadaan kedua, dimana temp lebih besar atau sama dengan A[j], maka
akan masuk ke perumusan A[j+1] = temp;
Keadaan ketiga, sebagai contoh dimana temp = A[1] = 3 dan A[j] = A[0]
= 8, maka akan masuk ke perumusan A[j+1] = A[j]; A[j]=temp;

D. TUGAS 2
Pada perubahan urutan dari atas ke bawah hanya dilakukan perubahan pada fungsi cetak_data()
dengan merubah alur perulangan sebagai berikut :
void cetak_data(const int A[], int n){
int i;
for(i=n-1;i>=0;i--){
cout<<A[i]<<" ";
}
cout<<endl;
}

HASIL :

Penjelasan

Pada tugas kedua ini dirubah alur perulangannya dengan parameter


untuk variabel awalnya bernilai n-1, selanjutnya perlungannya dilakukan
selama i lebih besar atau sama dengan 0, adapun perintah di akhir
perulangan diberikan perintah i yang dikurangi 1 poin.
Isi dari perintah tersebut sama yaitu menampilkan output variabel
array A untuk indeks i.

KESIMPULAN
Pada pertemuan 3 ini dapat disimpulkan bahwa array 1 dimensi diibaratkan data dalam
bentuk baris dan kolomnya adalah 1. Untuk mengakses berbagai elemen yang ada di array dapat
menggunakan kata kunci dari index yang ada, missal data kedua = x[10] dan lain sebagainya.
Pengindeksan pada array dimulai dari 0, hingga xxx sesuai batas tipe yang diinisialisasi.
Untuk mengakses data yang banyak dapat juga dilakukan dengan menggunakan perulangan untuk
kata kunci indeks yang ada, sehingga tidak memerlukan sintaks yang panjang untuk
mengaksesnya.