112 else cout<<"Data ada di elemen";<<elemen; getch(); } Compile dan perbaiki program hingga benar.
113
114 Gambar 4.16 struktur code C++ pemrograman Setelah program diperbaiki dan di compile hingga benar, maka akan tampil hasil running seperti gambar dibawah ini : Jika running data ditemukan dan menampilkan elemen Gambar 4.17 hasil running Tampilan hasil running jika data tidak ditemukan
115 Gambar 4.18 hasil running Tampilan hasil running jika data di temukan sesuai urutanya Gambar 4.19 hasil running
116 4.7 KESIMPULAN DAN SARAN a. Kesimpulan Array ialah kumpulan variabel yang mempunyai tipe data yang sama serta dinyatakan menggunakan nama yang sama. menggunakan indeks integer untuk menemukan urutan elemenelemenya, dan juga elemen pertamanya akan dimulai dari indeks 0, dan yang kedua mempunyai indeks 1, serta seterusnya.Array dideklarasikan dibagian deklarasi variabel dibedakan menjadi dua yaitu, array satu dimensi dan array dua dimensi. b. Saran Array adalah tempat menyimpan sekumpulan data dalam satu tempat dan vaiabel.perlu diperhatikan indeks array yang selalu dimulai dari 0 dan mengetahui terlebih dahulu tipe data yang ingin dimasukkan kedalam array dan besaran.
105 BAB V POINTER 5.1PENDAHULUAN 1. Pointer Pointer adalah sebuah variabel atau objek yang menunjuk ke variabel atau objek lainya.Pointer hanyalah variabel yang menyimpan alamat memori, memori tersebut dapat berasal dari variabel, objek dan lain-lain. dengan pointer dimungkinkan untuk menunjuk suatu memori yang ditunjuk. suatu pointer berisi alamat dari suatu variabel lain dan untuk dapat mengakses nilai yang ada di dalam variabel berpointer secara langsung dapat dilakukan dengan menggunakan operator. Ada dua operator pointer yang disediakan oleh borland C++, yaitu : a. Operator Deference (&) Operator Deference (&) adalah opertaor yang berfungsi untuk mendeklarasikan suatu variabel dalam penggantian memori. operator ini biasa disebut sebagai "Addres of". jadi misalkan ketika ingin mengetahui dimana variabel akan disimpan (untuk mengetahui lokasi atau alamat dimana variabel disimpan di memori). Bisa meletakkan "&" atau biasa
106 disebut AND (Ampersand Sign) di depan variabel yang berarti Address of. b. Operator Reference (*) Operator Reference atau biasa disebut dengan "value pointed by". Bedanya dengan Operator Deference, operator ini akan menampilkan nilai yang terdapat dalam suatu alamat memori, bukan menampilkan alamat memorinya. 2. Cara Mengakses Pointer Variabel yang terkandung di dalam pointer memiliki alamat memori sebagai nilai dari variabel pointer tersebut. Nilai pointer tersebut dapat diakses melalui pointer kita beserta nilai dari alamat memori yang ditunjuk oleh pointer.pointer sendiri dikenal dengan variabel sehingga cara pengaksesanya tidak jauh berbeda. untuk kita mengakses nilai dari pointer kita, hanya cukup dengan memanggil identitas dari pointer tersebut. plntPemanggilan akan menunjukkan nilai (alamat memori) dari variabel yang ditunjukkan oleh pointer tersebut.untuk mengubah nilai (tujuan) dari pointer, kita memerlukan operator address-of (&) pada operand sumber.
107 plnt =&myVar Operand sumber akan menampilkan alamat memori dari myVar, dan hal itu merupakan nila yang dibutuhkan variabel pointer. kegunaan uatama dari pointer adalah untuk menyimpan alamat memori dari sebuah variabel dan alamatnya dari suatu fungsi.pointer dapat meningkatkan kinerja untuk operasi berulang. 5.2 Tujuan Praktikum Pointer C++ a) mengetahui cara penggunaan operator pada pointer. b) mampu mempraktekkan struktur pointer pada program C++. c) membuat file kerja dengan bahasa program C++. 5.3 LANGKAH-LANGKAH PRAKTIKUM a. Buka aplikasi Dev C++
108 Gambar 5.1 aplikasi Dev C++ b. Tampilan awal Dev C++ tampak seperti gambar dibawah ini : Gambar 5.2 tampilan awal C++ c. Buatlah program baru baru dengan file-new-source file atau gunakan Ctrl+N seperti gambar dibawah ini :
109 Gambar 5.3 Membuat program baru d. Kemudian ketik source code programnya seperti gambar dibawah ini : Gambar 5.4 struktur code C++.
110 e. Setelah menulis sourcenya tekan compile and run seperti gambar dibawah ini : Gambar 5.5 proses compile f. Setelah itu simpan program dan beri nama sesuai dengan keinginan dan menggunakan ekstensi "cpp". Gambar 5.6 Proses penyimpanan g. Setelah klik save akan muncul hasil running seperti dibawah ini :
111 Gambar 5.7 tampilan hasil running h. Anda telah berhasil membuat program dengan bahasa pemograman C++ menggunakan Dev C++.
112 5.4 LATIHAN DAN KEGIATAN PRAKTIKUM a. Latihan 1 (Pointer Konstanta) #include<stdio.h> #include<conio.h> #include<iostream> using namespace std; int main () { cout<<"Nama : Sani Putri Pratiwi Hamid"<<endl; cout<<"NPM : 07352211093"<<endl; cout<<"==================================<<endl; char const *nama = "Borland C++"; nama = "Visual C++";
113 cout<<"Nama Program ="<<nama<<endl; getch(); } Compile dan perbaiki program hingga benar.
114 Gambar 5.8 struktur code program C++ Setelah program di compile dan diperbaiki hingga benar, maka akan tampil hasil running seperti dibawah ini : Gambar 5.9 Tampilan hasil running b. Latihan 2 (Pointer Variabel) #include<stdio.h>
115 #include<conio.h> #include<iostream> using namespace std; int main () { cout<<"Nama : Sani Putri Pratiwi Hamid"<<endl; cout<<"NPM : 07352211093"<<endl; cout<<"=============================="<<endl; int yususf, yosep, *hamzah; yusuf = 80; yosep =yusuf; hamzah =&yusuf; cout<<"Nilai Yusuf ="<<yusuf<<endl; cout<<"Nilai Yosep ="<<yosep<<endl; cout<<"Nilai Hamzah ="<<hamzah<<endl; getch();
116 } Compile dan perbaiki program hingga benar.
117 Gambar 5.10 struktur code program C++ Setelah program di compile dan diperbaiki hingga benar, maka akan tampil hasil running seperti dibawah ini : Gambar 5.11 tampilan hasil running 5.5 STUDY KASUS a. Operasi aritmatika pada pointer Berikut ini flowchart Operasi aritmatika pada pointer:
118
119 Gambar flowchart study kasus 5.1 Penjelasan : Dimulai dengan simbol terminal,kemudian mendeklarasi int nilai [3], *petunjuk, nilai [0] = 250, nilai [1] = 350,nilai [2] = 450, petunjuk =&nilai [0] menggunakan simbol proses, lalu tampilkan nilai [1] ada di dalam memori petunjuk +1, dan nilai[2] ada di dalam petunjuk +2 menggunakan simbol input/output dan diakhiri dengan simbol terminal. Kemudian ketikkan source code berikut : #include<iostream> #include<conio.h> using namespace std; int main () { cout<<"Nama : Sani Putri Pratiwi Hamid"<<endl; cout<<"NPM : 07352211093"<<endl; cout<<"=================================<<endl;
120 int nilai[3], *petunjuk; nilai[0]=250; nilai[1]=350; nilai[2]=450; petunjuk=&nilai[0]; cout<<"Nilai"<<*petunjuk<<"adadialamatmemori"<<petunjuk<<end l; cout<<"Nilai"<<*(petunjuk+1)<<"adadialamatmemori"<<(petunjuk +1)<<endl; cout<<"Nilai"<<*(petunjuk+2)<<"adadialamatmemori"<<(petunjuk +2)<<endl; getch(); } Compile dan perbaiki program hingga benar.
121
122 Gambar 5.12 struktur code program C++ Setelah program di compile dan diperbaiki hingga benar, maka akan tampil hasil running seperti gambar dibawah ini : Gambar 5.13 tampilan hasil running b. Pointer Dalam Array
123
124 Gambar flowchart study kasus 5.2 Penjelasan : Dimulai dengan menggunakan simbol terminal, kemudian mendeklarasi Char C[4], lalu memasukkan kondisi for (int i=0; i<4; ++i) menggunakan simbol preparation, lalu print address menggunakan simbol input/output, dan diakhiri menggunakan simbol terminal. #include<iostream> #include<conio.h> using namespace std; int main () { cout<<"Nama : Sani Putri Pratiwi Hamid"<<endl; cout<<"NPM : 07352211093"<<endl; cout<<"==============================="<<endl; char c[4]; int i; for (i=0; i<4; ++i)
125 { printf(Address of c[%d]=%x\n"i,&c[i]; } getch(); } Compile dan perbaiki program hingga benar.
126
127 Gambar 5.14 struktur code program C++ Setelah program di compile dan diperbaiki hingga benar, maka akan ditampilkan jendela hasil running seperti dibawah ini : Gambar 5.15 tampilan hasil running 5.6 KESIMPULAN DAN SARAN a. Kesimpulan suatu variabel yang bertipe pointer tidaklah berisi data melainkan alamat suatu data.tipe variabel pointer sama dengan tipe yang dikenal oleh variabel biasa, misalnya int,float,char dan sebagainya.nama dari variabel pointer juga mengikuti ketentuan nama variabel biasa. perbedaan variabel pointer dengan variabel
128 biasa yaitu penggunaan tanda asterisk (*) di depan nama variabel pada waktu deklarasi. b. Saran Penggunaan pointer pada proses program harus benar-benar diperhatikan. apabila sedikit saja terdapat kesalahan dalam menggunakan pointer akan mengakibatkan terjadinya error pada program.
129
121 BAB VI STACK 6.1 PENDAHULUAN 1. Stack Stack adalah suatu koleksi atau kumpulan item data yang terorganisasi dalam bentuk linear, yang operasi pemasukan dan penghapusan datanya dilakukan pada salah satu sisinya. Sedangkan pengertian stack pada struktur data adalah sebagai tumpukan dari benda, sekumpulan data yang seolah-olah diletakkan di atas yang lain, koleksi dari obejk-objek homogen, atau suatu urutan elemen yang elemenya dapat diambil dan ditambah hanya pada posisi akhir (top) saja. Stack merupakan bentuk khusus dari suatu data, diaman node yang ditambahkan dalam list dan diambil dari list hanya pada kepalanya, atau dengan prinsip pengolahanya adalah last-in first-out (LIFO).pada struktur ini hanya ada dua fungsi utama, yaitu push (memasukkan node ke dalam stack), dan pop (mengambil node dari stack). Secara sederhana tumpukan bisa diartikan sebagai kumpulan data yang seolah-olah diletakkan diatas yang lain. Dalam suatu tumpukan akan dapat dilakukan operasi penambahan (penyisipan) dan pengambilan
122 (penghapusan) data melalui ujung yang sama, ujung ini merupakan ujung atas tumpukkan.Sebelum struktur data tumpukan ini digunakan, dideklarasikan dahulu dalam kamus data. 6.2 TUJUAN PRAKTIKUM a. Memahami konsep stack. b. Mempraktikkan cara penggunaan stack dalam C++ 6.3 LANGKAH-LANGKAH KEGIATAN PRAKTIKUM a. Bukalah aplikasi Dev C++ melalui start menu.
123 Gambar 6.1 tampilan aplikasi Dev C++ b. Setelah di buka aplikasi Dev C++ tampilan awal akan seperti berikut : Gambar 6.2 tampilan awal Dev C++ c. Buatlah program baru dengan cara file-new-source file atau menggunakan Ctrl+N.
124 Gambar 6.3 membuat program baru d. Ketik source code programnya seperti gambar dibawah ini:
125
126 Gambar 6.4 Struktur code program C++
127 Gambar 6.5 lanjutan struktur code program C++ Gambar 6.6 lanjutan struktur code program C++ e. Setelah mengetik source code,selanjutnya compile and run program seperti gambar di bawah ini:
128 Gambar 6.7 proses compile and run f. Akan muncul dialog untuk menyimpan program. Beri nama sesuai keinginan kemudian save dengan eksetensi "cpp".
129 Gambar 6.8 proses penyimpanan g. Setelah klik save, akan muncul jendela hasil running program seperti gambar dibawah ini :
130 Gambar 6.9 tampilan hasil running h. Program "stack" berhasil dibuat menggunakan bahasa pemrograman C++ menggunakan aplikasi Dev C++.
131 6.4 LATIHAN KEGIATAN PRAKTIKUM Buatlah program baru dengan cara file-new-source file atau gunakan Ctrl+N kemudian ketikkan source code seperti dibawah ini : #include<stdio.h> #include<stdlib.h> #include<conio.h> typedef struct node { int data; struct node *link; }NODE; NODE *top=NULL; void push();
132 void pop(); void display(); int main() { int choice=0; while(1) { printf("\n1.push\n"); printf("2.pop\n"); printf("3.display\n"); printf("4.quit\n\n"); printf("enter your choice :"); scanf("%d",&choice); switch(choice) { case 1 :
133 push(); break; case 2 : pop(); break; case 3 : display(); break; case 4 : exit(0); default : printf("\npilihan tidak tersedia\n"); } } getch(); } void push()
134 { NODE *temp; int info =0; printf("enter data to be pushed (0-9999) :"); scanf("%d",&info); temp =(NODE *)malloc(sizeof(NODE)); if(temp==NULL) printf("\nmemori allocation failed"); else{ temp->data = info; temp->link = top; top=temp; printf("node has been inserted at top(front)successfully !!\n"); } } void pop()
135 { NODE *tmp; if(top==NULL) printf("stack is empty!!\n"); else{ tmp=top; printf("popped data : %d\n",tmp->data); top=top->link; free(tmp); } } void display() { NODE *temp; if(top==NULL) { printf("empty stack !!!\n");
136 } else { temp =top; printf("stack :-\n"); while(temp !=NULL) { printf("\n____\n"); printf("|%4d|",temp->data); temp=temp->link; } } } Compile dan perbaiki program hingga benar.