laporan 6 dpk

34
LAPORAN PRAKTIKUM VI ARRAY (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

Upload: sidna-hiroyuki

Post on 14-Jul-2016

31 views

Category:

Documents


5 download

DESCRIPTION

laporan 6 dpk

TRANSCRIPT

Page 1: laporan 6 dpk

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

Page 2: laporan 6 dpk

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 :

Page 3: laporan 6 dpk

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:

Page 4: laporan 6 dpk

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

Page 5: laporan 6 dpk

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 :

Page 6: laporan 6 dpk

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>

Page 7: laporan 6 dpk

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:

Page 8: laporan 6 dpk

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

Page 9: laporan 6 dpk

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()

{

Page 10: laporan 6 dpk

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 :

Page 11: laporan 6 dpk

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);

Page 12: laporan 6 dpk

for(int s=0; s<4; s++) {

printf("%d. %s \n", s+1, nama[i][s]);

}

printf("\n");

}

getch();

}

Output Program :

Flowchart :

Page 13: laporan 6 dpk

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.

Page 14: laporan 6 dpk

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 :

Page 15: laporan 6 dpk

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.

Page 16: laporan 6 dpk

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:

Page 17: laporan 6 dpk

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 :

Page 18: laporan 6 dpk

#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.

Page 19: laporan 6 dpk

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);

Page 20: laporan 6 dpk

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:

Page 21: laporan 6 dpk

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.

Page 22: laporan 6 dpk

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:

Page 23: laporan 6 dpk

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.

Page 24: laporan 6 dpk

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:

Page 25: laporan 6 dpk

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++

Page 26: laporan 6 dpk

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:

Page 27: laporan 6 dpk

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

Page 28: laporan 6 dpk

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