LAPORAN PRAKTIKUM VI
ARRAY (LARIK)
Disusun untuk Memenuhi Matakuliah Praktikum Dasar Pemrograman C++
Dibimbing oleh Bapak Wahyu Sakti Gunawan Irianto
Oleh:
Septian Adi Pratama
150533604474
S1 PTI’15 OFF D
UNIVERSITAS NEGERI MALANG
FAKULTAS TEKNIK
JURUSAN TEKNIK ELEKTRO
PRODI S1 PENDIDIKAN TEKNIK INFORMATIKA
Oktober 2015
ARRAY (LARIK)
Tujuan
Setelah mempelajari bab ini diharapkan mahasiswa akan mampu :
Mengenal dan memahami penggunaan array dalam listing program.
Membuat program sederhana dengan menerapkan konsep array.
DASAR TEORI
Pengertian Array
Tipe data array menjelaskan jangkauan nilai yang dapat ditampung pada sebuah variabel dan kumpulan operasi yang dapat dilakukan terhadap variabel tersebut. Dengan pengecualian pada string karakter, semua tipe yang telah dipelajari sampai saat ini hanya dapat menampung sebuah nilai.
Pada saat tertentu program yang dibuat dibutuhkan untuk menyelesaikan suatu permasalahan yang dikehendaki suatu variabel yang dapat menampung banyak nilai. Sebagai contoh variabel skor barangkali mencatat skor ujian dari 100 siswa. Demikian juga variabel gaji mungkin menampung gaji yang berlainan dari masing-masing pegawai suatu perusahaan.
Array adalah struktur data yang dapat menyimpan sejumlah nilai bertipe sama, sebagai contoh kita dapat menciptakan sebuah array yang dapat menampung 100 nilai bertipe int dan array kedua yang dapat menampung 25 nilai bertipe float. Setiap nilai yang ditugaskan ke array harus bertipe sama dengan array tersebut
Array adalah variabel yang mampu menyimpan sejumlah nilai yang bertipe sama. Untuk mendeklarasikan sebuah array, harus disebutkan tipe dari array yang dibuat misalnya int, float atau double dan juga ukuran array. Untuk menentukan ukuran array,perlu ditempatkan jumlah nilai yang dapat disimpan array dalam sebuah tanda kurung kurawal siku yang terletak sesuah nama array.
Deklarasi berikut sebagai contoh untuk menciptakan array bernama skor yang mampu menyimpan 100 skor nilai yang bertipe int :
int skor[100];
Pada saat dideklarasikan sebuah array, compiler C mengalokasikan memori yang cukup untuk menampung semua elemen sesuai dengan yang dideklarasikan. Masukan pertama berada pada lokasi 0. Sebagai contoh berdasarkan array skor, pernyataan berikut menugaskan nilai 80 pada elemen pertama dari array.
skor[0] = 80;
Karena elemen pertama dari array dimulai dengan offset 0, maka elemen terakhir dari array adalah satu lokasi sebelum ukuran array. Berdasarkan array skor diatas, pernyataan berikut menugaskan nilai ke elemen terakhir dari array.
skor[99] = 75;
Untuk inisialisasi array ada beberapa macam yang sering dilakukan sebagai contoh perhatikan potongan program berikut ini :
char title[] = "Dasar Pemrograman";
char section [64] = "Arrays";
Pada kasus yang pertama, compiler C akan mengalokasikan 17 byte untuk menampung string. Pada kasus yang kedua, compiler akan mengalokasikan array 64 byte, menginisialisasi enam karakter yang yang pertama dengan huruf-huruf “Arrays” dan karakter NULL. Kebanyakan compiler juga akan menginisialisasi lokasi byte-byte tersisa dengan NULL. Pada saat dideklarasikan array dengan tipe lain, kita juga dapat menginisialisasinya dengan cara yang sama. Sebagai contoh pernyataan berikut menginisialisasi array integer scores dengan nilai 80, 70, 90, 85 dan 80.
int scores[5] = {80, 70, 90, 85, 80} ;
Pada saat kita menugaskan nilai awal ke suatu array , kita harus melingkupi nilai-nilai tersebut dengan tanda kurung kurawal{}. Dalam hal ini, ukuran array sesuai dengan jumlah nilai yang ditugaskan ke array. Akan tetapi pernyataan berikut akan menugaskan empat nilai titik mengambang ke array yang dapat menyimpan 64 nilai.
float salaries[64] ={2500000.0, 3200000.0, 4400000.0, 5500000.0};
Tergantung dari compiler yang digunakan, nilai-nilai yang ditugaskan ke elemen-elemen yang tidak secara eksplisit ditugaskan mungkin diisi dengan 0. Sebagai pegangan kita harus tidak menganggap bahwa compiler akan menginisialisasi elemen-elemen yang lain. Jika kita tidak menyebutkan ukuran array, kompiler akan mengalokasikan memori yang hanya cukup untuk menampung nilai-nilai yang disebutkan. Deklarasi array berikut menciptakan array yang cukup menampung tiga buah nilai yang bertipe long.
long planets[] = {1234L, 5678L, 12347L};
Array adalah suatu variabel yang terdiri dari sekumpulan data dimana data-data tersebut mempunyai tipe data yang sama. Setiap data disimpan dalam alamat memori yang berbeda-beda dan disebut dengan elemen array. Setiap elemen mempunyai nilai indek sesuai dengan urutannya. Melalui indek inilah kita dapat mengakses data-data tersebut.
Indek dari elemen array ini, baik dalam bahasa C++ maupun Java dimulai dari 0, bukan 1 seperti dalam bahasa Pascal.
Dalam beberapa literatur, array sering disebut (diterjemahkan) sebagai larik. 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 elemenelemen array ditunjukkan oleh suatu subscript atau indeks. Suatu array berdimensi satu dideklarasikan dalam bentuk umum berupa:
tipe_data nama_var[ukuran];
dimana :
tipe_data : untuk menyatakan tipe dari elemen array, misalnya int, char, float.
nama_var : nama variabel array
ukuran : untuk menyatakan jumlah maksimal elemen array.
Contoh pendeklarasian array :
float nilai_tes[5];
pada program diatas menyatakan bahwa array nilai_tes mengandung 5 elemen bertipe float. Pada bahasa C, data array akan disimpan dalam memori yang berurutan. Elemen pertama mempunyai indeks bernilai 0. Jika variabel nilai_tes dideklarasikan sebagai array dengan 5 elemen, maka elemen pertama memiliki indeks sama dengan 0, dan elemen terakhir memiliki indeks 4. Bentuk umum pengaksesan array adalah:
nama_var[indeks]
sehingga, untuk array nilai_tes, maka:
nilai_tes[0] elemen pertama dari nilai_tes nilai_tes[4] elemen ke‐5 dari nilai_tes\
perhatikan contoh berikut ini:
nilai_tes[0] = 70;
scanf(“%f”, &nilai_tes[2]);
Contoh pertama merupakan pemberian nilai 70 ke nilai_tes[0]. Sedangkan contoh 2 merupakan perintah untuk membaca data bilangan dari keyboard dan diberikan ke nilai_tes[2]. Pada contoh 2 ini :
&nilai_tes[2]
berarti “alamat dari nilai_tes[2]”. Perlu diingat bahwa scanf() memerlukan argument berupa alamat dari variabel yang digunakan untuk menyimpan nilai masukan. Selengkapnya perhatikan contoh program di bawah ini.
Sebuah array dapat diinisialisasi sekaligus pada saat dideklarasikan. Untuk mendeklarasikan array, nilainilai yang diinisialisasikan dituliskan di antara kurung kurawal ({}) yang dipisahkan dengan koma.
int jum[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
Ada beberapa variasi cara mendeklarasikan sebuah array (dalam hal ini yang berdimensi satu), di antaranya adalah sebagai berikut :
int numbers[10];
int numbers[10] = {34, 27, 16};
int numbers[ ] = {2, -3, 45, 79, -14, 5, 9, 28, -1, 0};
char text[ ] = "Welcome to New Zealand.";
float radix[12] = {134.362, 1913.248};
double radians[1000];
Array dideklarasikan dengan tanda [ ] (bracket), baik dalam bahasa C++ dan Java. Bentuk umum dari tipe data array adalah :
tipe_data nama_array[jumlah_elemen]
Jika ingin mendeklarasikan sebuah array dengan tipe data integer dengan nama a dan jumlah elemen array-nya 10 maka kodenya adalah :
int a[10];
Dalam bahasa Java pendeklarasian array lebih variarif. Selain dengan kode seperti di atas, Java juga dapat mendeklarasikan array dalam bentuk :
int[ ] a;
Kemudian setelah melakukan deklarasi array, baik dengan kode yang pertama maupun yang kedua, Java harus menciptakan (membuat) objek terlebih dahulu sebelum array dapat digunakan karena dalam Java array merupakan sebuah Class. Cara menciptakan objek array dalam Java adalah :
a = new int[10];
Dalam Java pendeklarasian array dan pembuatan objek array dapat dilakukan alam satu sintak, yaitu :
int[ ] a = new int[10];
atau
int a[ ] = new int[10];
Baik C++ maupun Java, untuk mengakses elemen array, misalnya elemen ke-10 dari array dan kemudian menampung nilainya dalam sebuah variabel x, maka sintaknya adalah :
x=a[9];
Untuk memasukkan data ke dalam array, sintak yang digunakan adalah :
a[nomor_elemen] = data;
a[0] = 5;
a[1] = 6;
a[2] = 7; dan seterusnya.
Agar lebih efisien dan efektif, maka pemasukan data dalam array dapat menggunakan perulangan seperti berikut ini :
for (i=0; i<jumlah_data; i++) { cout << “a[“ << i << “] = “;
cin >> a[i];
}
Deklarasi Array
Array adalah variabel yang mampu menyimpan sejumlah nilai yang bertipe sama. Untuk mendeklarasikan sebuah array, harus disebutkan tipe dari array yang dibuat misalnya int, float atau double dan juga ukuran array. Untuk menentukan ukuran array,perlu ditempatkan jumlah nilai yang dapat disimpan array dalam sebuah tanda kurung kurawal siku yang terletak sesuah nama array. Deklarasi berikut sebagai contoh untuk menciptakan array bernama skor yang mampu menyimpan 100 skor nilai yang bertipe int.
int skor[100];
Pada saat dideklarasikan sebuah array, compiler C mengalokasikan memori yang cukup untuk menampung semua elemen sesuai dengan yang dideklarasikan. Masukan pertama berada pada lokasi 0. Sebagai contoh berdasarkan array skor, pernyataan berikut menugaskan nilai 80 pada elemen pertama dari array
skor[0] = 80;
Karena elemen pertama dari array dimulai dengan offset 0, maka elemen terakhir dari array adalah satu lokasi sebelum ukuran array. Berdasarkan array skor diatas, pernyataan berikut menugaskan nilai ke elemen terakhir dari array.
skor[99] = 75;
Inisialisasi array adalah pemberian nilai default pada array. Pemberian nilai default ini dilakukan pada saat array dideklarasikan.
Bentuk umum dari inisialisasi array ini adalah sebagai berikut :
tipe_data nama_array[jumlah_elemen] = {nilai1,nilai2,…,nilaiN}
Nilai didalam kurung kurawal disebut dengan Initialization List.
int a[10] = { 0, 3, 6, 9, 12, 15, 18, 21, 24, 27 };
Inisialisasi Array
Untuk inisialisasi array ada beberapa macam yang sering dilakukan sebagai contoh perhatikan potongan program berikut ini :
char title[] = “Dasar Pemrograman”;
char section [64] = “Arrays”;
Pada kasus yang pertama, compiler C akan mengalokasikan 17 byte untuk menampung string. Pada kasus yang kedua, compiler akan mengalokasikan array 64 byte, menginisialisasi enam karakter yang yang pertama dengan huruf-huruf “Arrays” dan karakter NULL. Kebanyakan compiler juga akan menginisialisasi lokasi byte-byte tersisa dengan NULL.
Pada saat dideklarasikan array dengan tipe lain, kita juga dapat menginisialisasinya dengan cara yang sama. Sebagai contoh pernyataan berikut menginisialisasi array integer scores dengan nilai 80, 70, 90, 85 dan 80.
int scores[5] = {80, 70, 90, 85, 80} ;
Pada saat kita menugaskan nilai awal ke suatu array , kita harus melingkupi nilai-nilai tersebut dengan tanda kurung kurawal{}. Dalam hal ini, ukuran array sesuai dengan jumlah nilai yang ditugaskan ke array. Akan tetapi pernyataan berikut akan menugaskan empat nilai titik mengambang ke array yang dapat menyimpan 64 nilai.
float salaries[64] = {2500000.0, 3200000.0, 4400000.0, 5500000.0};
Tergantung dari compiler yang digunakan, nilai-nilai yang ditugaskan ke elemen-elemen yang tidak secara eksplisit ditugaskan mungkin diisi dengan 0. Sebagai pegangan kita harus tidak menganggap bahwa compiler akan menginisialisasi elemen-elemen yang lain. Jika kita tidak menyebutkan ukuran array, kompiler akan mengalokasikan memori yang hanya cukup untuk menampung nilai-nilai yang disebutkan. Deklarasi array berikut menciptakan array yang cukup menampung tiga buah nilai yang bertipe long.
long planets[] = {1234L, 5678L, 12347L};
Array Multi Dimensi
Array multi dimensi adalah suatu array yang mempunyai lebih dari satu subskrip. Array multi dimensi ini aplikasinya antara lain untuk matrik. Adapun deklarasi dari array multi dimensi adalah :
tipe_data nama_array[jumlah_elemen_baris]
[jumlah_elemen_kolom];
Array Satu Dimensi
Banyak array yang hanya memiliki satu dimensi, seperti sejumlah orang dari setiap umur. Satu-satunya persyaratan untuk seperti array menggunakan dua menentukan elemen adalah usia indeks. Gambar berikut menyatakan variabel satu-dimensi.
Array Dua Dimensi
Ada beberapa array dua dimensi, seperti jumlah kantor-kantor di setiap lantai di setiap gedung kampus. Spesifikasi yang memerlukan kedua elemen bangunan dan jumlah lantai, dan setiap elemen yang berpendapat bahwa untuk menghitung kombinasi bangunan dan lantai. Karena itu, seperti array menggunakan dua indeks. Gambar berikut menyatakan variabel array dua dimensi.
Tiga Dimensi
Beberapa array memiliki tiga dimensi, seperti nilai dalam tiga dimensi ruang. Seperti array menggunakan tiga indeks, yang dalam hal ini mewakili x, y, z dan koordinat dari ruang fisik. gambar berikut menyatakan variabel untuk mengadakan array tiga dimensi.
Mengurutkan Elemen Array
Ada banyak sekali metode untuk mengurutkan data, antara lain Exchange Sort, Selection Sort, Insertion Sort, Bubble Sort, Quick Sort, Shell Sort, Binary Insertion Sort, dan masih banyak lagi.
Dari sekian banyak metode, hanya metode Exchange Sort, Bubble Sort, dan Insertion Sort saja yang akan kita bahas karena ketiga metode ini merupakan metode yang paling mudah dan banyak digunakan.
Untuk metode Selection Sort langkah-langkahnya adalah sebagai berikut :
Proses 1: variabel indek diberi nilai 1 (data ke-1) kemudian data indek dibandingkan dengan data ke-2. Jika data indek lebih besar maka nilai indeknya diganti dengan 2 (data ke-2), jika tidak nilai indeknya tetap.
Kemudian data indek dibandingkan lagi dengan data ke-3, lebih besar? Nilai indek ditukar! Demikian seterusnya. Setelah selesai, nilai indek diperiksa apakah nilai indek berubah atau tidak. Jika nilai indek mengalami perubahan maka data ke-1 ditukar dengan data indek.
Pada proses 2: variabel indek diberi nilai 2 (data ke-2) kemudian data indek dibandingkan dengan data ke-3. Jika data indek lebih besar maka nilai indeknya diganti dengan 3 (data ke-3).
Kemudian data indek dibandingkan lagi dengan data ke-4, lebih besar? Nilai indek ditukar! Demikian seterusnya. Setelah selesai, nilai indek diperiksa apakah nilai indek berubah atau tidak. Jika nilai indek mengalami perubahan maka data ke-2 ditukar dengan data indek.
Demikian untuk proses selanjutnya dimana banyak prosesnya adalah jumlah elemen array dikurangi satu.
Metode Bubble Sort mempunyai langkah-langkah sebagai berikut :
Membandingkan data ke-1 dengan data ke-2, jika data ke-1 lebih besar, maka kedua data ditukar.
Kemudian membandingkan data ke-2 dengan data ke-3, jika data ke-2 lebih besar, kedua data ditukar lagi.
Demikian seterusnya sampai data terakhir, sehingga data kedudukannya akan bergesergeser.
Untuk proses 2, pembandingan (pergeseran data) hanya sampai pada data terakhir dikurangi satu.
Metode Insertion Sort mirip dengan cara orang mengurutkan kartu selembar demi selembar, kartu diambil dan disisipkan (insert) ke tempat yang seharusnya. Adapun langkah-langkahnya adalah sebagai berikut :
Pengurutan dimulai dari data ke-2 sampai dengan data terakhir.
Jika ditemukan data yang lebih kecil atau lebih besar, maka akan ditempatkan (diinsert) diposisi yang seharusnya.
Latihan 1
Pemrograman C++
Nama Program : Input Nilai Mahasiswa
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
#include "stdio.h"
#include "conio.h"
int main()
{
int index, nilai[10];
//clrscr();
//input nilai mahasiswa
printf("Input nilai 10 mahasiswa: \n");
for(index=0;index<10;index++)
{
printf("Mahasiswa %i : ", index+1);
scanf("%i", &nilai[index]);
}
//Tampilan nilai mahasiswa
printf("Nilai mahasiswa yang telah diinput\n");
for(index=0;index<10;index++)
{
printf("%4.0i", nilai[index]);
}
getch();
}
Output Program :
Algoritma :
Mulai.
Input 10 nilai mahasiswa.
for(index=0;index<10;index++)
{
printf ("Mahasiswa %i: ",index+1);
scanf ("%i", &nilai[index]);}
Mahasiswa 1:
mahasiswa 2:
mahasiswa 3:
mahasiswa 4:
mahasiswa 5:
mahasiswa 6:
mahasiswa 7:
mahasiswa 8:
mahasiswa 9:
mahasiswa 10:
Menampilkan kembali 10 nilai mahasiswa.
for(index=0;index<10;index++)
{
printf ("%5.0i", nilai[index]);}
Cetak hasil.
Selesai.
Penjelasan Program :
Program di atas merupakan program yang ditujukan untuk menampilkan nilai mahasiswa yang telah diinputkan 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=0;index<10;index++) maksudnya adalah nilai atau angka dimulai dari 0, apakah lebih kecil dari 10 atau tidak. Untuk script “mahasiswa %i” artinya 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.
Latihan 2
Pemrograman C++
Nama Program : Matriks
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
#include "stdio.h"
#include "conio.h"
int main()
{
int baris, kolom, matriks[5][5];
//clrscr();
//input elemen secara Row Major Order
printf("Input elemen Array: \n");
for(baris=0;baris<5;baris++)
{
for(kolom=0;kolom<4;kolom++)
{
printf("matriks[%i][%i]", baris+1,kolom+1);
scanf("%i", &matriks [baris][kolom]);
}
printf("\n");
}
//tampilan elemen array secara Row Major Order
printf("Isi array: \n");
for(baris=0;baris<5;baris++)
{
for(kolom=0;kolom<4;kolom++)
{
printf("%5.0i", matriks[baris][kolom]);
}
printf("\n");
}
getch();
}
Output Program :
Algoritma :
Mulai.
Input element secara row.
for(baris=0;baris<5;baris++)
{
for(kolom=0;kolom<4;kolom++)
{
Matriks[%i][%i] ", baris+1, kolom+1);
("%i", &matriks[baris][kolom]);
Cetak hasil.
Menampilkan kembali element array secara row
Isi array:
for(baris=0;baris<5;baris++)
{
for(kolom=0;kolom<4;kolom++)
{
printf("%5.0i", matriks[baris][kolom]);}
Cetak hasil.
Selesai.
Penjelasan Program :
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 ke-2 digunakan sebagi kolom. Apabila kolom bernilai 1 maka akan dilanjutkan ke proses berikutnya karena bernilai benar. Pada program ini apabila kita menginputkan huruf bukan angka program akan langsung secara otomatis menggunakan rumus yang ada untuk diproses dan hasilnya akan ditampilkan tatapi hasilnya tidak sesuai dengan konsep Menampilkan Matriks.
Latihan 3
Pemrograman C++
Nama Program : Penghitung Banyak dan Ukuran Karakter
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
#include "stdio.h"
int main()
{
char kalimat[100]="Saya adalah anak UM Teknik Elektro PTI Offering D 2015";
int hitung=0, i;
//clrscr();
for (i=0;kalimat[i]!='\0';i++)
{
hitung++;
}
printf("Kalimat : \n%s mempunyai %i huruf ", kalimat, hitung);
printf("dan disimpan dalam %i bytes \n", hitung+1);
}
Output Program :
Algoritma :
Mulai.
Kalimat : Saya adalah anak UM Teknik Elektro PTI Offering D 2015.
Hitung jumlah huruf :
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);}
Cetak hasil.
Selesai.
Penjelasan Program :
Program di atas merupakan program yang ditujukan untuk menampilkan kalimat “Saya adalah anak UM Teknik Elektro PTI Offering D 2015”. 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 Offering D 2015” 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 byte data dengan formula jumlah karakter +1
Latihan 4
Pemrograman C++
Nama Program : Pembagian Group Liga Champions 2015
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
#include <stdio.h>
#include <conio.h>
int main()
{
int i, s;
char h=64, 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("Daftar Pembagian Group Liga Champions 2015 : \n\n");
for(i=0; i<5; i++)
{
++h;
printf("Grup %c \n", h);
for(s=0; s<4; s++)
{
printf(" %d. %s \n", s+1, nama[i][s]);
}
printf("\n");
}
getch();
}
Output Program :
Algoritma :
Mulai
Deklarasi array “nama” bertipe char dengan 5 baris 4 kolom dan panjang data 20 karakter
Menampilkan isi data dalam array “nama” dengan perulangan
Selesai
Penjelasan Program :
Program tersebut menggunakan Array Tiga Dimensi, dengan 5 baris karena ada 5 group, menggunakan 4 kolom karena setiap group terdiri dari 4 tim, 20 berarti panjang karakter setiap data. Kemudian mengisi array “nama” dengan nama-nama tim sepak bola yang sudah dikelompokkan menurut grupnya masing-masing. Setelah itu program akan menampilkan seluruh isi data dalam array “nama” dengan menggunkan 2 kali perulangan. Perulangan yang pertama digunakan untuk menentukan indeks baris pada array, perulangan ini dilakukan sebanyak 5 kali karena jumlah baris pada array ada 5. Perulangan kedua digunakan untuk menentukan indeks kolom pada array, perulangan ini dilakukan sebanyak 4 kali karena jumlah kolom pada array ada 4. Pemanggilan isi array menggunakan sintak “nama[i][s]“. Variabel i untuk menentukan baris dan variabel s untuk menentukan kolom.
Praktikum 1
Pemrograman C++
Nama Program : Pembalik 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<<" <-> Pembalik Kata <->\n";
cout<<"====================================\n";
cout<<"\nMasukkan Kata yang Akan Dibalik: ";
cin.getline(kata, sizeof(kata));
cout<<"\nHasil Pembalikan : ";
for (int i=strlen(kata)-1; i>=0; i--)
{
cout<<kata[i];
}
cout<<"\n";
getch();
}
Output Program :
Algoritma :
Mulai.
Masukkan kata yang akan dibalik.
Pembalikkan kata:
for (int i=strlen(kata)-1; i>=0; i--)
{
cout<<kata[i];
}
Cetak hasil.
Selesai.
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. Sehingga kata/kalimat akan ditampilkan secara terbalik oleh program.
Praktikum 2
Pemrograman C++
Nama Program : Daftar Harga Fotocopy
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
#include <iostream.h>
#include <conio.h>
int main()
{
int i,
lembar[100]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,
21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,
41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,
61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,
81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100};
printf("=================================\n");
printf(" DAFTAR HARGA \n");
printf("=================================\n");
printf(" Jumlah (lembar) | Harga (Rp)\t\n");
printf("=================================\n");
for(i=0;i<100;i++)
{
cout<<"\t"<<lembar[i];
cout<<"\t";
cout<<"\t"<<lembar[i]*80;
cout<<"\t";
cout<<endl;
printf("---------------------------------\n");
}
}
Output Program :
Algoritma :
Penjelasan Program :
Merupakan program yang ditujukan untuk menampilkan daftar harga dari fotokopi yang berbentuk tabel dimana setiap lembarnya akan naik Rp. 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.
Tugas Rumah 1
Pemrograman C++
Nama Program : Penghitung Huruf Vokal dan Konsonan
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
#include <stdlib.h>
#include <iostream.h>
#include <string.h>
#include <conio.h>
int main()
{
char kata[20];
cout<<"Masukkan kata : ";
cin.getline(kata, sizeof(kata));
int jumlah_vokal=0, jumlah_nonvokal=0;
for(int i = 0;i < strlen(kata);i++)
{
if(kata[i]=='a' || kata[i]=='i' ||
kata[i]=='u'|| kata[i]=='e' || kata[i]=='o' ||
kata[i]=='A' || kata[i]=='I' ||
kata[i]=='U'|| kata[i]=='E' || kata[i]=='O')
{
jumlah_vokal=jumlah_vokal + 1;
}
else if(kata[i]==' ')
{
cout<<"inputan salah"<<endl;
}
else
{
jumlah_nonvokal=jumlah_nonvokal+1;
}
}
cout << "Jumlah Huruf Vokal = "<<jumlah_vokal<<endl;
cout << "Jumlah Huruf Non Vokal / Kosonan = "<<jumlah_nonvokal<<endl;
getch ();
return 0;
}
Output Program :
Algoritma :
Deklarasi kata[20] <- Array maksimal 20 karakter
Masukkan kata yg akan dihitung
Deklarasi Vokal=0, NonVokal=0
Gunakan perulangan i
Deklarasi i, i=0, ketika i < jumlah karakter, i++
Deision, jika kata[i] adalah huruf a,i,u,e,o,A,I,U,E,O
Maka vokal+1
Dan jika kata[i] adalah spasi " " maka tidak menambah apa-apa
Jika tidak, maka NonVokal+1
Tampilkan hasil jumlah vokal dan nonvokal
Program Selesai
Penjelasan Program :
Program ini menjelaskan tentang jumlah huruf vokal dan jumlah huruf konsonan yang terdapat dalam kata yang kita inputkan. Setelah kita masukkan sebuah kata, program akan menghitung jumlah karakter vokal maupun konsonan pada kata hasil inputan kita. Penghitungan karakter didalam program ini adalah dengan melakukan pemindaian setiap huruf pada string dengan menggunakan perulangan, setiap perulangan akan menambahkan nilai +1 pada variabel jumlah sehingga di akhir perulangan akan didapat jumlah keseluruhan karakter atau hasil akhir setelah kita inputkan kata. Diakhir program akan menampilkan jumlah huruf vokal dan jumlah konsonan.
Tugas Rumah 2
Pemrograman C++
Nama Program : Operator Logika
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
int main()
{
int p, q, tabel[2]={0,1};
cout<<"----------------------------------------"
<<"----------------------------------------"<<endl;
cout<<" P\tQ\tP OR Q\t\tP AND Q\t\tNOT P\t\tP XOR Q"<<endl;
cout<<"----------------------------------------"
<<"----------------------------------------"<<endl;
for(p=1; p>=0; p--)
for(q = 1; q>=0; q--)
{
cout<<" "<<tabel[p]<<"\t"
<<tabel[q]<<"\t "
<<(tabel[p]||tabel[q])<<"\t\t "
<<(tabel[p]&&tabel[q])<<"\t\t "
<<!tabel[p]<<"\t\t "<<(tabel[p]^tabel[q]);
cout<<endl;
}
cout<<"----------------------------------------"
<<"----------------------------------------"<<endl;
getch ();
return 0;
}
Output Program :
Algoritma :
Mulai
Deklarasi Variabel p,q
Proses hitung p dan q
Proses hitung p AND q
Proses hitung p OR q
Proses hitung NOT p
Proses hitung p XOR q
Selesai
Penjelasan Program :
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 Rumah 3
Pemrograman C++
Nama Program : Bilangan Fibonaci
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
#include <iostream.h>
#include <conio.h>
#include <iomanip.h>
int main ()
{
int input, bil1=1,bil2=1, hasil, index;
cout <<"masukan input: " ;cin>>input;
cout <<endl;
cout <<"bilangan fibonaci :"<<bil1;
for (index=1;index<=input - 2 ; index++)
{
cout <<setw (3)<<bil2;
hasil =bil1 +bil2;
bil1=bil2;
bil2=hasil;
}
cout <<setw (3) <<hasil;
getch ();
}
Output Program :
Algoritma :
Mulai
Deklarasi : int in,b1=1,b2=1,h,i;
Proses memasukkan data}
Write(Masukkan Input: );
Read(in)
Proses data
for(i=1;i<=in-2;i++)
h=b1+b2;
b1=b2;
b2=h;
Tampilkan Data
Write(Bilangan Fibonanci: "<<b1);
Write(setw(3)<<b2);
Write(setw(3)<<h);
Penjelasan Program :
Merupakan program yang digunakan untuk mempermudah menghitung bilangan fibonaci. Pertama-tama user harus mamasukkan nilai berupa angka untuk dijadikan deret ke-n dari suatu bilangan deret fibonaci. Deret fibonaci sendiri mempunyai rumus seperti yang sudah dijelaskan, kemudian setelah didapatkan deret fibonacinya dari deret ke-n, maka misalnya kita masukkan inpu 7 maka deret yang dihasilkan 1 1 2 3 5 8 13 dengan suku ke n(7) adalah 13.
Tugas Rumah 4
Pemrograman C++
Nama Program : Daftar Nilai Siswa dan Penghitung Remidi
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
#include <iostream.h>
int main()
{
int a,x,kkm,remidi=0;
cout<<"Masukkan Jumlah Siswa : ";
cin>>x;
int nilai[x];
for(a=0;a<x;a++){
cout<<"\t Nilai siswa ke-"<<a+1<<" : ";
cin>>nilai[a];
}
cout<<"Semua nilai yang diinput adalah :"<<endl;
for(a=0;a<x;a++){
cout<<nilai[a]<<"\t";
}
cout<<"\n Masukkan nilai KKM : ";
cin>>kkm;
cout<<"==============================================="<<endl;
for(a=0;a<x;a++){
if(nilai[a]<kkm){
remidi+=1;
}
}
cout<<"Jumlah Siswa yang remidi adalah : "<<remidi;
}
Output Program :
Algoritma :
Mulai
Deklarasi variabel
Masukan Jumlah siswa
Memberikan nilai siswa ke 1 sampai ke 10
Masukkan nilai kkm
Tampilkan siswa remidi
Selesai
Penjelasan Program :
Merupakan program yang digunakan untuk memasukkan nilai mahasiswa dan mengetahui apakah siswa tersebut Remidi apa tidak dalam suatu mata pelajaran. Pertama tama user menginputkan nilai masing masing mahasiswa mulai dari mahasiswa ke 1 sampai ke yang kita tentukan, kemudian oleh program data tersebut didaftarkan kedalam bentuk array dimensi 1 (hanya memiliki ukuran untuk baris), kemudian user diminta untuk memasukkan nilai kkm yang akan dijadikan acuan standart remidi atau tidaknya. Apabila nilai mahasiwa diatas nilai kkm maka mahasiswa idak remidi. Sebaliknya apabila nilai kurang dari kkm maka mahasiswa tersebut remidi.
KESIMPULAN
Dalam belajar pemrograman terlebih dahulu harus mengerti tentang sistem operasi, algoritma dan Algoritma.
Memahami dasar teori sebelum melakukan latihan & praktikum.
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.
Untuk array satu dimensi:
a. Setiap elemen array dapat diakses melalui indeks
b. Indeks array secara default dimulai dari 0.
c. Deklarasi array dalam bentuk umum: Tipe_array nama_array[ukuran]; Contoh :
int Nilai [4].
Untuk mengisi dan menampilkan isi elemen array ada dua cara yaitu:
Row Major Order (secara baris per baris)
Column Major Order (secara kolom per kolom)
Bentuknya dapat berupa matriks atau tabel. Bentuk Umum: Tipenama_array[baris][kolom];
Adanya penggunaan header iomanip. Disertakan karena menggunakan manipulator, contohnya “setw”.
Penggunaan header string mulai digunakan. Diperlukan karena menggunakan sizeof dan cin.getline.
Penggunaan penugasan variabel sering dijumpai dalam modul ini, contoh: “%i” dll.
DAFTAR RUJUKAN
Tim Asisten Dosen. 2013. Modul 6. ARRAY . Malang: Universitas Negeri Malang.
Suprapto. 2008. Bahasa Pemrograman Untuk SMK. Jakarta: Penerbit Departemen Pendidikan Nasional
Kadir, Abdul. 2003. Pemrograman C++. Yogyakarta: Penerbit ANDI.
id.wikipedia.org
http://www.slideshare.net/torojr/fungsi-dan-array-pada-c (Diakses pada 27 Oktober 2015)