Upload
sidna-hiroyuki
View
37
Download
5
Embed Size (px)
DESCRIPTION
laporan 6 dpk
Citation preview
LAPORAN PRAKTIKUM VIARRAY (LARIK)
Disusun untuk Memenuhi Matakuliah Praktikum Dasar Pemrograman C++
Dibimbing oleh Bapak Wahyu Sakti Gunawan Irianto
Oleh:Hilmi Rahardian Zain
150533605479
S1 PTI’15 OFF B
UNIVERSITAS NEGERI MALANG
FAKULTAS TEKNIK
JURUSAN TEKNIK ELEKTRO
PRODI S1 PENDIDIKAN TEKNIK INFORMATIKA
Oktober 2015
ARRAY (LARIK)A. Tujuan
Setelah mempelajari bab ini di harapkan mahasiswa akan mampu :
1. Mengenal dan memahami penggunaan array dalam listing program.
2. Membuat program sederhana dengan menerapkan konsep array
B. Pengertian Perulangan 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 di tunjukkan oleh suatu subscript atau indeks.
1. Array Dimensi Satu
a. Setiap elemen array dapat diakses melalui indeks
b. Indeks array secara default di mulai dari 0.
c. Deklarasi array dalam bentuk umum :
Tipe_array
nama_array[ukuran];
Contoh :int Nilai [4]
Nilai [0] Nilai [1] Nilai [2] Nilai [3]
70
80
82
60
2. Array Dimensi Dua
Array dua dimensi merupakan array yang terdiri dari x buah baris dan y
buah kolom. Bentuknya dapat berupa matriks atau tabel.
Bentuk Umum :
Tipenama_array[baris][kolom];
Contoh :
Cara akses :
data_lulus[0][1]=540
Untuk mengisi dan menampilkan isi elemen array ada dua cara yaitu :
a. Row Major Order (secara baris per baris)
b. Column Major Order (secara kolom per kolom) Inisialisasi :
3. Array Dimensi Banyak
Array multi-dimensi merupakan array yang mempunyai ukuran lebih dari
dua. Bentuk pendeklarasian array sama saja dengan array dimensi satu maupun
array dimensi dua.
Bentuk Umum :
Contoh
Inisialisasi:
Selain ketiga jenis array di atas, terdapat array tak beraturan (ukuran array
tidak di tuliskan).
Contoh inisialisasi:
Array juga bisa di gunakan sebagai parameter :
Latihan I
Pemrograman C++
Nama Program : Menginput nilai mahasiswa ke dalam array satu dimensi
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :#include <stdio.h>
#include <conio.h>
int main ()
{
int index,nilai[10];
printf("Input Nilai 10 Mahasiswa : \n");
for(index=0;index<10;index++)
{
printf("Mahasiswa %d: ",index);
scanf("%d",&nilai[index]);
}
printf("Nilai Mahasiswa yang telah di input : ");
for(index=0;index<10;index++)
{
printf("%5.0i",nilai[index]);
}
getch();
}
Output Program :
Flowchart :
Penjelasan Program :
Program tersebut digunakan untuk menampilkan nilai mahasiswa yang sudah diinputkan mulai
1-10, cara kerja program diatas yaitu pengguna mamasukkan data mulai dari mahasiswa ke 1
sampai ke 10, lalu program ini akan menampilkannya dalam bentuk array dimensi satu.
Menggunakan peulangan for seperti di script for (index=0;index<10;index++) maksudnya
ialah nilai dimulai dari 0, apakah lebih kecil dari 10 atau tidak.
Latihan II
Pemrograman C++
Nama Program : Menginput nilai (bilangan) kedalam array dimensi dua dan
menampilkannya
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :#include <stdio.h>
#include <conio.h>
int main ()
{
int baris,kolom, matriks [5][4];
printf("--------------------------\n");
printf("Masukan Nilai Matriks: \n");
printf("--------------------------\n");
for (baris=0; baris<5; baris++){
for (kolom=0; kolom<4; kolom++){
printf ("matriks [%i][%i] : ", baris, kolom);
scanf("%i", &matriks [baris] [kolom]);
}
printf("\n");
}
printf("--------------------------\n");
printf("Isi array 5 x 4: \n");
printf("--------------------------\n");
for (baris=0; baris<5; baris++){
for (kolom=0; kolom<4; kolom++){
printf ("%5.0i", matriks [baris] [kolom]);
}
printf("\n");
}
getch ();
}
Output Program:
Flowchart:
Penjelasan Program :
Program tersebut menggunakan header file stdio dan conio karena program tersebut
menggunakan fungsi getch serta menggunakan printf dan scanf. Program tersebut digunakan
untuk membuat matriks dengan inputan dari pengguna pada masing-masing baris dan kolom
matriks. Awalnya program mendeklarasikan baris, kolom dan matriks 5x4, kemudian
pengguna diminta memasukkan angka mulai baris ke-1 sampai baris ke-5 kemudian ada dua
script perulangan for. Yang pertama “for (baris=0; baris<5; 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 5 maka program akan memprosesnya. Kemudian for kedua sebagai kolom. Jika
kolom bernilai 1 maka akan diteruskan ke proses. Pada program ini apabila kita menginputkan
angka nol maka angka nol tersebut tidak muncul dan jika kita memasukkan huruf maka
program akan secara otomatis menggunakan rumus yang ada untuk diproses dan hasilnya
ditampilkan, tetapi tidak sesuai dengan konsep matriks.
Latihan III
Pemrograman C++
Nama Program : Menampilkan kalimat
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :#include <stdio.h>
int main()
{
char kalimat []="saya adalah anak UM Teknik Elektro PTI 2015";
int hitung=0,i;
for (i=0;kalimat[i]!=0;i++)
{
hitung++;
}
printf("Kalimat %s mempunyai %i huruf\n",kalimat,hitung);
printf("dan simpan dalam %i bytes \n", hitung+1);
}
Output Program :
Flowchart :
Penjelasan Program :
Program diatas menggunakan header file stdio karena pada program tersebut
menggunakan fungsi printf dan scanf. Program tersebut yaitu menampilkan kalimat “saya
adalah anak UM Teknik Elektro PTI 2015”. Program di atas dimulai dengan mendeklarasikan
variabel i dan hitung bernilai 0 bertipe data integer serta array kalimat “saya adalah anak UM
Teknik Elektro PTI 2015” yang bertipe char. Kemudian program menghitung jumlah karakter
dan dilanjutkan dengan perulangan. Cara penghitungannya yaitu memindai karakter satu per
satu dan tiap pemindaian akan bertambah 1 sehingga pada kahirnya akan didapat jumlah
karakter. Selanjutnya program akan menampilkan jumlah karakter dan byte data dengan
rumusnya yaitu jumlah karakter +1
Latihan IV
Pemrograman C++
Nama Program : Menampilkan peserta klub eropa yang ikut Liga Champions
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :#include <stdio.h>
#include <conio.h>
int main() {
char nama[5][4][20] = {
{"AC_Milan","Barcelona","Porto","Monaco"},
{"Liverpool","Real Madrid","CSK_Moskow","PSG"},
{"Inter_Milan","Arsenal","Atletico_Madrid","Ajax"},
{"As_Roma","Manchester_United","Dortmund","Valencia"},
{"Manchester_City","Bayern_Munich","Napoli","Vilareal"}};
printf("Liga Champions : \n\n");
for(int i=0; i<5; i++) {
printf("Grup %d \n", i+1);
for(int s=0; s<4; s++) {
printf("%d. %s \n", s+1, nama[i][s]);
}
printf("\n");
}
getch();
}
Output Program :
Flowchart :
Penjelasan Program :
Program tersebut utmenggunakan header file stdio dan conio karena program tersebut
menggunakan fungsi getch dan menggunakan printf serta scanf. Dimulai dengan
mendeklarasikan array “nama” yang bertipe data char dengan jumlah baris=5, kolom=4, dan
panjang isi data=20 karakter. Menggunakan lima baris karena ada lima group, menggunakan
empat kolom karena setiap group terdiri dari empat tim, 20 berarti panjang karakter setiap data.
Selanjutnya mengisi array “nama” dengan nama-nama tim sepak bola yang sudah
dikelompokkan sesuai grupnya. Isi array dipanggil menggunakan syntax “nama[i][s]“. variabel
i sebagai baris dan variabel s sebagai kolom. Setelah itu program akan menampilkan seluruh isi
data dalam array “nama” dengan dua kali perulangan. Perulangan yang pertama untuk
menentukan indeks baris array, perulangan kedua untuk menentukan indeks kolom array,
perulangan dilakukan empat kali karena jumlah kolom pada array ada empat.
Tugas Praktikum I
Pemrograman C++
Nama Program : Membalik kata
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :#include<iostream.h>
#include<conio.h>
#include<string.h>
int main() {
char kata[100];
cout<<"|+++++++++++++++++++++++++++++++++|\n";
cout<<"| Balikkan Kata |\n";
cout<<"|+++++++++++++++++++++++++++++++++|\n";
cout<<"\nMasukkan Kata yang Akan Dibalik: ";
cin.getline(kata, sizeof(kata));
cout<<"\nHasil Pembalikan : ";
for (int k=strlen(kata)-1; k>=0; k--)
{cout<<kata[k]; }
cout<<"\n";
getch();}
Output Program :
Flowchart :
Penjelasan Program:
Program sederhana tersebut yaitu untuk membalik kata atau kalimat (maksimal 100
karakter) yang sudah dimasukkan. Awalnya dengan mendeklarasikan char dengan batas 100
karakter huruf, lalu kata atau kalimat yang telah dimasukkan kemudian diproses dengan
perulangan, huruf pertama akan di tampilkan di akhir sedangkan huruf terakhir akan
ditempatkan di awal sehingga terbalik. Misalnya saya inputkan malang, setelah saya menekan
enter maka pada program tersebut akan muncul gnalam.
Tugas Praktikum II
Pemrograman C++
Nama Program : Tabel Harga Fotokopian
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :#include <iostream.h>
#include <conio.h>
int main()
{
int h, lembar=100,harga=80;
printf("|===============================|\n");
printf("| DAFTAR HARGA FOTOKOPIAN|\n");
printf("|===============================|\n");
printf("| Jumlah (lbr.) + Harga(Rp.)\t|\n");
printf("|===============================|\n");
for(h=1;h<=100;h++)
{
cout<<"|";
cout<<"\t"<<h;
cout<<"\t|";
cout<<"\t";
cout<<harga*h;
cout<<"\t|";
cout<<endl;
printf("---------------------------------\n");
}
}
Output Program:
Flowchart:
Penjelasan Program :
Program diatas menggunakan header file iostream dan conio karena program tersebut
menggunakan fungsi getch dan menggunakan printf dan scanf. Program sederhana tersebut
digunakan untuk menampilkan daftar harga fotokopi berbentuk tabel dimana harga fotokopi
per-lembarnya sebesar Rp. 80. Program tersebut hanya menampilkan data yang sudah diolah
oleh rumus. Yaitu menampilkan jumlah lembar dimulai dari 1 sampai 100. Dan harganya
didapat dari perkalian antara banyak lembar dikalikan dengan 80.
Tugas Praktikum III
Pemrograman C++
Nama Program : Buat program looping
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
#include <iostream.h>
int main(){
int p[4]={1,1,0,0};
int q[4]={1,0,1,0};
cout<<"| P Q P AND Q P OR Q NOT P P XOR Q \n";
for(int z=0;z<4;z++){
cout<<"| "<<p[z]<<" "<<q[z]<<" "<<(p[z] && q[z])<<"
"<<(p[z] || q[z])<<" "<<!p[z]<<" "<<(p[z] ^ q[z])<<" \n";
}
}
Output Program:
Flowchart:
Penjelasan Program :
Program sederhana ini menerangkan nilai P dan Q dimulai dengan mendeklarasikan
array p dan array q dengan masing-masing berjumlah empat data. Kemudian kita masukkan
rumus untuk p AND q , p OR q , NOT p , p XOR q yaitu rumus logika, lalu program akan
tampil seperti perintah pada soal.
Tugas Rumah I
Pemrograman C++
Nama Program : Menganalisa karakter vokal, non vokal, angka & karakter lain
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :#include <iostream.h>
#include <stdio.h>
#include <conio.h>
int main(){
char k[70];
int p,q=0,r=0,s=0,t=0,y;
printf("SELAMAT DATANG DI PROGRAM ANALISA HURUF VOKAL, NON VOKAL,\n");
printf("ANGKA DAN KARAKTER LAIN\n");
printf("Masukan Kalimat : ");
gets(k);
for(p=0;p<strlen(k);p++){
if(k[p]=='0' || k[p]=='1' || k[p]=='2' || k[p]=='3')
q++;
else if(k[p]=='4' || k[p]=='5' || k[p]=='6')
q++;
else if(k[p]=='7' || k[p]=='8' || k[p]=='9')
q++;
else if(k[p]==' '|| k[p]=='!' || k[p]=='@' || k[p]=='#' || k[p]=='$' ||
k[p]=='%')
r++;
else if(k[p]=='-'||k[p]=='_'||k[p]=='+'||k[p]=='='||k[p]=='{'||
k[p]=='[')
r++;
else if(k[p]=='}'||k[p]==']'||k[p]=='|'||k[p]==':'||k[p]==';'||
k[p]=='"')
r++;
else if(k[p]=='<'||k[p]==','||k[p]=='>'||k[p]=='.'||k[p]=='/'||
k[p]=='?' || k[p]=='*')
r++;
else if(k[p]=='a' || k[p]=='i' || k[p]=='u' || k[p]=='e' || k[p]=='o')
s++;
else if(k[p]=='A' || k[p]=='I' || k[p]=='U' || k[p]=='E' || k[p]=='O')
s++;
else
t++;
}
printf("HASIL ANALISA: \n");
printf("\n Jumlah Huruf Vokal : %d",s);
printf("\n Jumlah Huruf Non Vokal : %d",t);
printf("\n Jumlah Karakter Angka : %d",q);
printf("\n Jumlah Karakter Lain : %d",r);
getch();
}
Output Program:
Flowchart:
Penjelasan Program :
Program sederhana ini mampu menganalisa banyaknya huruf vokal, non vokal, karakter angka
dan karakter lainnya. Awalnya dengan deklarasi variabel char k yang mengandung 100
karakter, kemudian memasukan data bertipe integer yang dimulai dari nol. (p=0,q=0,r=0,s=0)
Ketika kita memasukan sebuah kata atau kalimat, program akan menghitung jumlah
karakternya, Penghitungan dilakukan dengan memindai tiap huruf menggunakan looping atau
perulangan, tiap looping menambahkan nilai 1 (+1) sehingga didapat banyaknya karakter yang
kita masukkan. Usai menghitung karakter, program akan memindai kembali karakter yang kita
inputkan. Mengecek apakah kata atau kalimat yang kita masukkan mengandung huruf vokal
atau tidak. Jika bernilai benar maka program akan menampilkan jumlah huruf vokal tersebut.
Program akan melakukan penghitungan karakter kembali untuk mengecek banyaknya huruf
non vokal. Proses pengulangan ini akan terjadi pula pada saat mengecek banyaknya karakter
angka dan karakter lain. Setelah itu program berakhir.
Tugas Rumah II
Pemrograman C++
Nama Program : Bilangan Fibonacci
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :#include <conio.h>#include <stdio.h>int main(){
int x,y=1,z,n;
printf("\nMasukkan inputan : ");scanf("%d",&n);
printf("1 1 ");
for(x=1;x<=n;){z=x+y;
printf("%d ",z);x=y; y=z;
}
printf("\n\n Maka hasil dari %d adalah %d" ,n,z);getch();
}
Output Program:
Flowchart:
Penjelasan Program :
Program sederhana diatas digunakan untuk menghitung bilangan fibonaci. Awal mulanya kita
menginputkan angka untuk dijadikan deret ke-n. Kemudian diproses menggunakan rumus
diatas, sehingga misal saat kita menginputkan angka 8 maka akan muncul 1 1 2 3 5 8 13 21.
Berarti suku ke-8 bilangan fibonaci adalah 21. Program berakhir.
Tugas Rumah III
Pemrograman C++
Nama Program : Mencari determinan
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :#include <conio.h>
#include <stdio.h>
int main(){
int k,l,m,n;
printf ("SELAMAT DATANG DI PROGRAM PENCARI DETERMINAN\n");
printf ("---------------------------------\n");
printf ("Masukkan elemen baris ke-1 kolom ke-1 : ");
scanf ("%i", &k);
printf ("---------------------------------\n");
printf ("Masukkan elemen baris ke-1 kolom ke-2 : ");
scanf ("%i", &l);
printf ("---------------------------------\n");
printf ("Masukkan elemen baris ke-2 kolom ke-1 : ");
scanf ("%i", &m);
printf ("---------------------------------\n");
printf ("Masukkan elemen baris ke-2 kolom ke-2 : ");
scanf ("%i", &n);
printf ("---------------------------------\n");
printf("\n\n %d %d\n %d %d\n",k,l,m,n);
printf("\n nilai determinan = %d",k*n-l*m);
getch();
}
Output Program:
Flowchart:
Penjelasan Program :
Program diatas menggunakan header file iostream dan conio karena program tersebut
menggunakan fungsi getch dan menggunakan printf serta scanf. Program sederhana tersebut
digunakan untuk mencari nilai determinan. Yaitu dengan memasukkan elemen (bilangan)
mulai dari baris ke-1 kolom ke-1 hingga baris ke-2 kolom ke-2 Kemudian dengan
menggunakan rumus determinan ad-bc (pada program tersebut k*n-l*m). Maka akan diperoleh
nilai determinannya.
Tugas Rumah IV
Pemrograman C++
Nama Program : Penghitung Nilai Remidi bagi Nilai di bawah KKM
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :#include <iostream.h>
int main(){
int k,sis,kkm,rem=0;
cout<<"Masukkan Banyaknya Siswa : ";
cin>>sis;
int nilai[sis];
for(k=0;k<sis;k++){
cout<<"\t Nilai siswa yang ke-"<<k+1<<" : ";
cin>>nilai[k];
}
cout<<"Semua nilai yang diinput adalah :"<<endl;
for(k=0;k<sis;k++){
cout<<nilai[k]<<"\t";
}
cout<<"\n Masukkan KKM : ";
cin>>kkm;
cout<<"==============================================="<<endl;
for(k=0;k<sis;k++){
if(nilai[k]<=kkm){
rem+=1;
}
}
cout<<"Banyak Siswa remidi adalah : "<<rem;
}
Output Program:
Flowchart:
Penjelasan Program :
Program sederhana tersebut digunakan untuk mengatahui untuk mengetahui banyaknya siswa
yang remidi setelah kita memasukkan nilai masing-masing siswa dan kkmnya. Pada mulanya,
kita memasukkan banyaknya jumlah siswa. Kedua, kita memasukkan nilai berupa angka mulai
mahasiswa ke-1 sampai banyaknya siswa yang kita tentukan tadi. Kemudian nilai akan
ditampilkan dalam bentuk array dimensi satu. Selanjutnya kita memasukkan nilai kkm.
Apabila nilai siswa tersebut <=kkm (kurang dari sama dengan kkm) maka siswa tersebut
remidi. Di program ini saya menghendaki kkmnya adalah 70. Nilai siswa berturut-turut 65,
80,70,95,90,85,75. Maka siswa yang remidi sebanyak 2 orang.
KESIMPULAN
Array adalah sekumpulan variabel yang memiliki tipe data yang sama dan dinyatakan
dengan nama yang sama. Hal tersebut berbeda dengan variabel biasa yang hanya bisa
menampung satu nilai saja.. Array bersifat homogen atau semua data pada array bertipe sama,
oleh karena itu array memiliki fungsi dapat mengolah elemen-elemen di dalam strukturnya
secara kelompok maupun individu. Elemen array selalu dimulai dari 0. Array dapat melakukan
pengaksesan acak. Maksudnya adalah elemen di array dapat diakses secara langsung tanpa
melalui elemen-elemen lain. Array sering digunakan bersama dengan looping untuk
mempercepat proses pengentrian data
DAFTAR PUSTAKA
Tim Asisten Dosen. 2015. Modul 6 Array (Larik). Malang: Unversitas Negeri Malang
Aditya, Christiyanus. 2012. Array (Online).
(http://christ-13.blogspot.co.id/2012/07/array.html) Diakses 25 Oktober 2015
Andrianto, Satyawan. 2013. Array (Online).
(http://setiawanandrianto0.blogspot.co.id/2013/12/laporan-pemrograman-dasar-tipe-
array.html) Diakses 25 Oktober 2015
Azizah. 2013. Pengertian Array, Cara Kerja Dan Contohnya. (Online).
(http://azizah.ilearning.me/programming/pengertian-array-cara-kerja-dan-contohnya/ ).
Diakses 25 Oktober 2015