SlideShare a Scribd company logo
Praktikum III : Array Statis dan Dinamis halaman 9
PRAKTIKUM III
ARRAY STATIS dan DINAMIS
Kompetensi dasar
Mahasiswa mampu membedakan penggunaan array statis dan array dinamis
Indikator
1. data member array statis dan array dinamis
2. cara kerja konstruktor array statis dan array dinamis
3. cara pembuatan operator overloading input dan output untuk array statis dan
array dinamis dan tata cara memanipulasinya
A. Landasan Teori
Array adalah struktur data yang mengandung type data yang mempunyai type
sama. Suatu array adalah sekelompok memori yang berhubungan. Array mempunyai
nama dan type yang sama. Untuk merujuk lokasi tertentu atau elemen dalam array;
nama array dan angka posisi (disebut subscript atau indeks) dari elemen tersebut dalam
array. Pada dasarnya, array menyimpan data secara statis artinya pada saat dikompilasi
sudah ditentukan berapa memori yang diperlukan dan pada saat program dieksekusi
kita tidak dapat mengubah banyaknya memori yang dibutuhkan.
Secara umum, array statis dideklarasikan dalam bentuk :
Tipe_data var_array[banyaknya tempat yang dipesan];
Sebagai contoh untuk memesan tempat sebanyak 10 satuan memori pada array x yang
menyimpan data bertipe int dideklarasikan menggunakan pernyataan :
int x[10];
yang perlu diingat indeks array dalam C++ dimulai dari 0 sampai dengan n-1, jika kita
memesan memori sebanyak n tempat.
B. Langkah Praktikum
Tulis dan buat program di bawah ini. Untuk mengetahui konsep array statis,
perhatikan program di bawah ini. Kelas Array1D merupakan tipe data abstrak untuk
array statis. Perhatikan pada bagian data member, kita akan mengamati perilaku array
yang menyimpan data bertipe char.
Praktikum III : Array Statis dan Dinamis halaman 10
geser.cpp
1. #include <iostream.h>
2. #define maks 5
3. class Array1D {
4. friend ostream& operator<<(ostream&, const Array1D&);
5. friend istream& operator>>(istream&, Array1D&);
6. public :
7. Array1D();
8. void cetak();
9. void geser_kiri();
10. void geser_kanan();
11. private :
12. char A[maks];
13. };
Kelas Array1D mempunyai 1 konstruktor, dan 3 method. Method geser_kiri dan
geser_kanan digunakan untuk memanipulasi array, sedangkan method cetak digunakan
untuk mencetak array. Perhatikan bahwa method cetak sebenarnya sama dengan
operator overloading output <<. Perhatikan pula dialek cara membuat operator
overloading.
14. Array1D::Array1D() {
15. for (int i=0; i<maks; i++)
16. A[i] = '0';
17. }
18. void Array1D::cetak() {
19. for (int i=0; i<maks; i++)
20. cout << A[i] << " ";
21. }
22. ostream& operator<<(ostream& out, const Array1D& x) {
23. for (int i=0; i<maks; i++)
24. cout << x.A[i] << " ";
25. cout << endl;
26. return out;
27. }
28. istream& operator>>(istream& in, Array1D& x)
29. { int posisi;
Praktikum III : Array Statis dan Dinamis halaman 11
30. cout << "Mengisi array pada posisi ke : ";
31. in >> posisi;
32. if (posisi > 0 && posisi <= maks) {
33. cout << "Masukkan elemen array-nya : ";
34. in >> x.A[posisi-1];
35. }
36. else
37. cout << "Anda memasukkan posisi di luar range ... ";
38. return in;
39. }
40. void Array1D::geser_kanan()
41. {
42. int n = maks;
43. int temp = A[n-1];
44. for (int i=n-1; i >= 0; i--)
45. A[i+1] = A[i];
46. A[0] = temp;
47. }
48. void Array1D::geser_kiri()
49. {
50. int n = maks;
51. int temp = A[0];
52. for (int i=0; i < n; i++)
53. A[i] = A[i+1];
54. A[n-1] = temp;
55. }
56. main() {
57. Array1D x;
58. cout << "Array masih kosong : " << x;
59. cin >> x;
60. cout << "Isi Array saat ini : " << x;
61. x.geser_kiri();
62. cout << "Isi Array setelah digeser ke kiri : " << x;
63. x.geser_kanan();
64. cout << "Isi Array setelah digeser ke kanan : " << x;
65. return 0;
66. }
Praktikum III : Array Statis dan Dinamis halaman 12
Bila kita melakukan operasi penghapusan elemen indeks 0, maka akan terjadi
pergeseran elemen ke kiri. Sebaliknya, bila kita menambah elemen di depan maka akan terjadi
pergeseran elemen ke kanan.
Pretest
1. Jelaskan pengertian array ! [ nilai 20]
2. Gambarkan array dengan 7 elemen, yaitu (5,1,2,3,6,4,7) dengan cara menambah
elemen di depan tiap kali menambah elemen baru. [nilai 30]
3. Kemudian, hapuslah elemen di depan 3 kali dan gambarkan prosesnya.
Setiap gambar dalam bentuk tabel beserta index dan nilainya [nilai 30]
4. Pelajari karakteristik data member array dinamis. Apakah perbedaan bagian data
member dari array statis dan array dinamis [nilai 20]
POSTEST
Diberikan file program yang mengimplementasikan konsep array statis dan dinamis (link
diberikan di forum). Cobalah program tersebut, amati perbedaan dan kesamaannya.
Dengan menggunakan contoh dari file di atas, buat program untuk mensimulasikan
operasi menambah dan menghapus elemen di depan (yaitu operasi SELALU diberlakukan pada
elemen array dengan indeks 0). Setiap kali ada operasi (baik menambah atau menghapus)
tampilkan outputnya di layar. Pada meja praktikum sebelah kiri : array statis dan kanan : array
dinamis. Sharinglah hasil postes anda dengan teman semeja.
Praktikum III : Array Statis dan Dinamis halaman 13
LEMBAR PRE dan POST-TEST MINGGU III
Nilai Pretes : ________Tgl : ________ Nilai Postes : ________ Tgl : ________
Asisten,
___________________
Nama :
Nim :

More Related Content

What's hot

8 Data Record
8 Data Record8 Data Record
8 Data Record
Simon Patabang
 
Fungsi rekursif
Fungsi rekursifFungsi rekursif
Fungsi rekursif
Hibaten Wafiroh
 
Pemograman dasar array
Pemograman dasar arrayPemograman dasar array
Pemograman dasar array
Ali Must Can
 
Materi : Struktur Data (2 Array)
Materi : Struktur Data (2 Array)Materi : Struktur Data (2 Array)
Materi : Struktur Data (2 Array)
eka pandu cynthia
 
Sd pertemuan 1 & 2
Sd   pertemuan 1 & 2Sd   pertemuan 1 & 2
Sd pertemuan 1 & 2
biedoen
 
Array
ArrayArray
Pertemuan 6 Struktur Data, Algoritma dan Pemrograman
Pertemuan 6 Struktur Data, Algoritma dan PemrogramanPertemuan 6 Struktur Data, Algoritma dan Pemrograman
Pertemuan 6 Struktur Data, Algoritma dan Pemrograman
Prasetyo Adi
 

What's hot (8)

Latihan
LatihanLatihan
Latihan
 
8 Data Record
8 Data Record8 Data Record
8 Data Record
 
Fungsi rekursif
Fungsi rekursifFungsi rekursif
Fungsi rekursif
 
Pemograman dasar array
Pemograman dasar arrayPemograman dasar array
Pemograman dasar array
 
Materi : Struktur Data (2 Array)
Materi : Struktur Data (2 Array)Materi : Struktur Data (2 Array)
Materi : Struktur Data (2 Array)
 
Sd pertemuan 1 & 2
Sd   pertemuan 1 & 2Sd   pertemuan 1 & 2
Sd pertemuan 1 & 2
 
Array
ArrayArray
Array
 
Pertemuan 6 Struktur Data, Algoritma dan Pemrograman
Pertemuan 6 Struktur Data, Algoritma dan PemrogramanPertemuan 6 Struktur Data, Algoritma dan Pemrograman
Pertemuan 6 Struktur Data, Algoritma dan Pemrograman
 

Viewers also liked

Mau phong karaoke
Mau phong karaokeMau phong karaoke
Mau phong karaoke
trangtriphongkaraoke
 
Wonderful Pacitan
Wonderful PacitanWonderful Pacitan
Wonderful Pacitan
Anggayuh Gusti
 
PENGEMBANGAN LAYANAN DAN FASILITAS RUMAH PINTAR BRAWIJAYA
PENGEMBANGAN LAYANAN DAN FASILITAS RUMAH PINTAR BRAWIJAYAPENGEMBANGAN LAYANAN DAN FASILITAS RUMAH PINTAR BRAWIJAYA
PENGEMBANGAN LAYANAN DAN FASILITAS RUMAH PINTAR BRAWIJAYA
Vitha Caiiyank Altha
 
TYPES OF TECHNICAL REPORTS
TYPES OF TECHNICAL REPORTSTYPES OF TECHNICAL REPORTS
TYPES OF TECHNICAL REPORTS
farwa jafar
 
Pedoman penulisan skripsi
Pedoman penulisan skripsiPedoman penulisan skripsi
Pedoman penulisan skripsiAnggayuh Gusti
 

Viewers also liked (8)

Mau phong karaoke
Mau phong karaokeMau phong karaoke
Mau phong karaoke
 
Wonderful Pacitan
Wonderful PacitanWonderful Pacitan
Wonderful Pacitan
 
PENGEMBANGAN LAYANAN DAN FASILITAS RUMAH PINTAR BRAWIJAYA
PENGEMBANGAN LAYANAN DAN FASILITAS RUMAH PINTAR BRAWIJAYAPENGEMBANGAN LAYANAN DAN FASILITAS RUMAH PINTAR BRAWIJAYA
PENGEMBANGAN LAYANAN DAN FASILITAS RUMAH PINTAR BRAWIJAYA
 
Topsolid design (tieng viet)
Topsolid design (tieng viet)Topsolid design (tieng viet)
Topsolid design (tieng viet)
 
Topsolid design 2006 manual
Topsolid design 2006 manualTopsolid design 2006 manual
Topsolid design 2006 manual
 
TYPES OF TECHNICAL REPORTS
TYPES OF TECHNICAL REPORTSTYPES OF TECHNICAL REPORTS
TYPES OF TECHNICAL REPORTS
 
SIVA msc
SIVA mscSIVA msc
SIVA msc
 
Pedoman penulisan skripsi
Pedoman penulisan skripsiPedoman penulisan skripsi
Pedoman penulisan skripsi
 

Similar to 75ery6e5y03 praktikum iii_array_statis_dan_dinamis

Bab8.array
Bab8.array Bab8.array
Bab8.array
Isman Isman
 
2 Array
2 Array2 Array
Array Dimensi banyak struktur data pertemuan ke 3
Array Dimensi banyak struktur data pertemuan ke 3Array Dimensi banyak struktur data pertemuan ke 3
Array Dimensi banyak struktur data pertemuan ke 3
said zulhelmi
 
Algoritma - Array
Algoritma - ArrayAlgoritma - Array
Algoritma - Array
Melina Krisnawati
 
4 Adt
4 Adt4 Adt
Chapter 3 array
Chapter 3   arrayChapter 3   array
Chapter 3 array
Muhammad Najib
 
Array [Larik]
Array [Larik]Array [Larik]
Jeni intro1-bab07-java array
Jeni intro1-bab07-java arrayJeni intro1-bab07-java array
Jeni intro1-bab07-java array
Kristanto Wijaya
 
Array C++ MG3.pptx
Array C++ MG3.pptxArray C++ MG3.pptx
Array C++ MG3.pptx
KemangKres
 
Laporan praktikum modul v
Laporan praktikum modul vLaporan praktikum modul v
Laporan praktikum modul v
Devi Apriansyah
 
Mengenal fungsi php untuk pengambilan data my sql: mysql fetch
Mengenal fungsi php untuk pengambilan data my sql: mysql fetchMengenal fungsi php untuk pengambilan data my sql: mysql fetch
Mengenal fungsi php untuk pengambilan data my sql: mysql fetch
Achmad Solichin
 
1 Array.ppt
1 Array.ppt1 Array.ppt
Pertemuan vi
Pertemuan viPertemuan vi
Pertemuan viwindi1
 
Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex
Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel BerindexLaporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex
Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex
Shofura Kamal
 
Array pada pemrograman C++ 1903280173218371.pptx
Array pada pemrograman C++ 1903280173218371.pptxArray pada pemrograman C++ 1903280173218371.pptx
Array pada pemrograman C++ 1903280173218371.pptx
erliantokurniawan
 

Similar to 75ery6e5y03 praktikum iii_array_statis_dan_dinamis (20)

Bab8.array
Bab8.array Bab8.array
Bab8.array
 
2 Array
2 Array2 Array
2 Array
 
Array Dimensi banyak struktur data pertemuan ke 3
Array Dimensi banyak struktur data pertemuan ke 3Array Dimensi banyak struktur data pertemuan ke 3
Array Dimensi banyak struktur data pertemuan ke 3
 
Array
ArrayArray
Array
 
Algoritma - Array
Algoritma - ArrayAlgoritma - Array
Algoritma - Array
 
4 Adt
4 Adt4 Adt
4 Adt
 
Bab8.array
Bab8.array Bab8.array
Bab8.array
 
Chapter 3 array
Chapter 3   arrayChapter 3   array
Chapter 3 array
 
Array [Larik]
Array [Larik]Array [Larik]
Array [Larik]
 
Jeni Intro1 Bab07 Java Array
Jeni Intro1 Bab07 Java ArrayJeni Intro1 Bab07 Java Array
Jeni Intro1 Bab07 Java Array
 
Jeni intro1-bab07-java array
Jeni intro1-bab07-java arrayJeni intro1-bab07-java array
Jeni intro1-bab07-java array
 
Array C++ MG3.pptx
Array C++ MG3.pptxArray C++ MG3.pptx
Array C++ MG3.pptx
 
Laporan praktikum modul v
Laporan praktikum modul vLaporan praktikum modul v
Laporan praktikum modul v
 
Mengenal fungsi php untuk pengambilan data my sql: mysql fetch
Mengenal fungsi php untuk pengambilan data my sql: mysql fetchMengenal fungsi php untuk pengambilan data my sql: mysql fetch
Mengenal fungsi php untuk pengambilan data my sql: mysql fetch
 
Arrays c++
Arrays c++Arrays c++
Arrays c++
 
1 Array.ppt
1 Array.ppt1 Array.ppt
1 Array.ppt
 
Pertemuan IV Teori
Pertemuan IV TeoriPertemuan IV Teori
Pertemuan IV Teori
 
Pertemuan vi
Pertemuan viPertemuan vi
Pertemuan vi
 
Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex
Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel BerindexLaporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex
Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex
 
Array pada pemrograman C++ 1903280173218371.pptx
Array pada pemrograman C++ 1903280173218371.pptxArray pada pemrograman C++ 1903280173218371.pptx
Array pada pemrograman C++ 1903280173218371.pptx
 

75ery6e5y03 praktikum iii_array_statis_dan_dinamis

  • 1. Praktikum III : Array Statis dan Dinamis halaman 9 PRAKTIKUM III ARRAY STATIS dan DINAMIS Kompetensi dasar Mahasiswa mampu membedakan penggunaan array statis dan array dinamis Indikator 1. data member array statis dan array dinamis 2. cara kerja konstruktor array statis dan array dinamis 3. cara pembuatan operator overloading input dan output untuk array statis dan array dinamis dan tata cara memanipulasinya A. Landasan Teori Array adalah struktur data yang mengandung type data yang mempunyai type sama. Suatu array adalah sekelompok memori yang berhubungan. Array mempunyai nama dan type yang sama. Untuk merujuk lokasi tertentu atau elemen dalam array; nama array dan angka posisi (disebut subscript atau indeks) dari elemen tersebut dalam array. Pada dasarnya, array menyimpan data secara statis artinya pada saat dikompilasi sudah ditentukan berapa memori yang diperlukan dan pada saat program dieksekusi kita tidak dapat mengubah banyaknya memori yang dibutuhkan. Secara umum, array statis dideklarasikan dalam bentuk : Tipe_data var_array[banyaknya tempat yang dipesan]; Sebagai contoh untuk memesan tempat sebanyak 10 satuan memori pada array x yang menyimpan data bertipe int dideklarasikan menggunakan pernyataan : int x[10]; yang perlu diingat indeks array dalam C++ dimulai dari 0 sampai dengan n-1, jika kita memesan memori sebanyak n tempat. B. Langkah Praktikum Tulis dan buat program di bawah ini. Untuk mengetahui konsep array statis, perhatikan program di bawah ini. Kelas Array1D merupakan tipe data abstrak untuk array statis. Perhatikan pada bagian data member, kita akan mengamati perilaku array yang menyimpan data bertipe char.
  • 2. Praktikum III : Array Statis dan Dinamis halaman 10 geser.cpp 1. #include <iostream.h> 2. #define maks 5 3. class Array1D { 4. friend ostream& operator<<(ostream&, const Array1D&); 5. friend istream& operator>>(istream&, Array1D&); 6. public : 7. Array1D(); 8. void cetak(); 9. void geser_kiri(); 10. void geser_kanan(); 11. private : 12. char A[maks]; 13. }; Kelas Array1D mempunyai 1 konstruktor, dan 3 method. Method geser_kiri dan geser_kanan digunakan untuk memanipulasi array, sedangkan method cetak digunakan untuk mencetak array. Perhatikan bahwa method cetak sebenarnya sama dengan operator overloading output <<. Perhatikan pula dialek cara membuat operator overloading. 14. Array1D::Array1D() { 15. for (int i=0; i<maks; i++) 16. A[i] = '0'; 17. } 18. void Array1D::cetak() { 19. for (int i=0; i<maks; i++) 20. cout << A[i] << " "; 21. } 22. ostream& operator<<(ostream& out, const Array1D& x) { 23. for (int i=0; i<maks; i++) 24. cout << x.A[i] << " "; 25. cout << endl; 26. return out; 27. } 28. istream& operator>>(istream& in, Array1D& x) 29. { int posisi;
  • 3. Praktikum III : Array Statis dan Dinamis halaman 11 30. cout << "Mengisi array pada posisi ke : "; 31. in >> posisi; 32. if (posisi > 0 && posisi <= maks) { 33. cout << "Masukkan elemen array-nya : "; 34. in >> x.A[posisi-1]; 35. } 36. else 37. cout << "Anda memasukkan posisi di luar range ... "; 38. return in; 39. } 40. void Array1D::geser_kanan() 41. { 42. int n = maks; 43. int temp = A[n-1]; 44. for (int i=n-1; i >= 0; i--) 45. A[i+1] = A[i]; 46. A[0] = temp; 47. } 48. void Array1D::geser_kiri() 49. { 50. int n = maks; 51. int temp = A[0]; 52. for (int i=0; i < n; i++) 53. A[i] = A[i+1]; 54. A[n-1] = temp; 55. } 56. main() { 57. Array1D x; 58. cout << "Array masih kosong : " << x; 59. cin >> x; 60. cout << "Isi Array saat ini : " << x; 61. x.geser_kiri(); 62. cout << "Isi Array setelah digeser ke kiri : " << x; 63. x.geser_kanan(); 64. cout << "Isi Array setelah digeser ke kanan : " << x; 65. return 0; 66. }
  • 4. Praktikum III : Array Statis dan Dinamis halaman 12 Bila kita melakukan operasi penghapusan elemen indeks 0, maka akan terjadi pergeseran elemen ke kiri. Sebaliknya, bila kita menambah elemen di depan maka akan terjadi pergeseran elemen ke kanan. Pretest 1. Jelaskan pengertian array ! [ nilai 20] 2. Gambarkan array dengan 7 elemen, yaitu (5,1,2,3,6,4,7) dengan cara menambah elemen di depan tiap kali menambah elemen baru. [nilai 30] 3. Kemudian, hapuslah elemen di depan 3 kali dan gambarkan prosesnya. Setiap gambar dalam bentuk tabel beserta index dan nilainya [nilai 30] 4. Pelajari karakteristik data member array dinamis. Apakah perbedaan bagian data member dari array statis dan array dinamis [nilai 20] POSTEST Diberikan file program yang mengimplementasikan konsep array statis dan dinamis (link diberikan di forum). Cobalah program tersebut, amati perbedaan dan kesamaannya. Dengan menggunakan contoh dari file di atas, buat program untuk mensimulasikan operasi menambah dan menghapus elemen di depan (yaitu operasi SELALU diberlakukan pada elemen array dengan indeks 0). Setiap kali ada operasi (baik menambah atau menghapus) tampilkan outputnya di layar. Pada meja praktikum sebelah kiri : array statis dan kanan : array dinamis. Sharinglah hasil postes anda dengan teman semeja.
  • 5. Praktikum III : Array Statis dan Dinamis halaman 13 LEMBAR PRE dan POST-TEST MINGGU III Nilai Pretes : ________Tgl : ________ Nilai Postes : ________ Tgl : ________ Asisten, ___________________ Nama : Nim :