| PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 88 BAB IV ARRAY 4.1 PENGERTIAN ARRAY 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. Pada saat pendeklarasian array, kompiler mengalokasikan memori yang cukup untuk menampung semua elemen sesuai dengan yang dideklarasikan. Array dalam Bahasa Indonesia disebut dengan larik, dan ialah suatu variabel dengan nama variabel yang sama, tetapi bisa menyimpan berbagai nilai. Array pada ilmu komputer, ialah suatu tipe data terstruktur yang dapat menyimpan banyak data menggunakan suatu nama yang sama serta menempati tempat pada memori yang berurutan dan bertipe data sama. 4.2 ARRAY MENURUT DIMENSINYA Dalambidang pemrogramannya,array dapat di buat dengan berbagaimacamdimensi antara lain sebagai berikut: 1. Array satu dimensi Setiap elemen array dapat diakses melalui index Index array secara default dimulai dari 0 Deklarasi array : Tipe_array nama_array[ukuran] 2. Array dua dimensi Array dua dimensi merupakan array yang terdiri dari m buah baris dan n buah buah kolom bentuknya dapat berupa matriks atau tabel.Deklarasi array : Tipe_array nama_array[baris][kolom]
| PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 89 4.3 TUJUAN PRAKTIKUM a. Mempraktekkan cara penggunan array pada Bahasa C++. b. Membuat File kerja dengan Bahasa C++. c. Mempraktekkan statement pemasukkan input “cin” 4.4 LANGKAH-LANGKAH KEGIATAN PRAKTIKUM a. Bukalah aplikasi DevC++ melalui start menu : Gambar 4.1 Tampilan aplikasi DevC++. b. Tampilan awal tampak seperti gambar dibawah ini : Gambar 4.2 Tampilan awal DevC++.
| PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 90 c. Buatlah program baru dengan file-new-source atau gunakan CTRL+N atau seperti gambar dibawah ini : Gambar 4.3 Membuat Project baru d. kemudian mulai ketik program seperti gambar dibawah ini gambar 4.4 hasil ketik program
| PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 91 e. Setelah menulis sourcenya, tekan compile and run seperti pada gambar di bawah ini : Gambar 4.5 Proses Compile f. Akan muncul pemberitahuan untuk menyimpan program. Beriikan nama sesuai dengan keinginan kalian, misalnya “punya lufy”, kemudian simpan dengan format “cpp” Gambar 4.6 Proses Penyimpanan
| PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 92 g. setelah itu tekan run and compile maka akan tampak seperti berikut Gambar 4.7 Tampilan Hasil Running h. Andal telah berhasi membuat sebuah program array dengan Bahasa Pemograman C++ menggunakan Dev C++ 4.5 STUDY KASUS a. Buatlah sebuah program untuk menemukan data yang terdapat didalam element. Buatlah program baru dengan cara file – menu – source atau gunakan CTRL + N kemudian ketik source programnya seperti dibawah ini:
| PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 93 Latihan arra 1 dimensi: FLowchart Array 1 dimensi
| PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 94 Penjelasan : Dimulai dengan terminator, dan dilanjutkan untuk header dalam program untuk keterangan deklarasi int ujian [5] sebagai fungsinya. Decision for (int k=0;k<5;k++), jika true maka ditampikan “masukan nilai ujian “ yang telah di inputkan fungsinya. Lalu decision for (int j=0;j<5;j++) jika true maka di tampikan sebagai data nilai ujian jika false maka dikembalikan di decision 1. dan di tutup dengan getch(); untuk penyelesaiannya. #include <iostream> #include <conio.h> using namespace std; main() { //inisialisasi array //innt ujian[5];=(90,95,78,85) int ujian[5]; //input data ke array for(int k=0;k<5;k++) { cout<<"masukan data nilai ujian["<<k<<"]="; cin>>ujian[k]; }
| PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 95 //tampil data array for(int j=0;j<5;j++) { cout<<"data nilai ujian["<<j<<"]="<<ujian[j]<<endl; cin>>ujian[j]; } getch(); } Compile sampai benar Gambar 4.8 Struktur pemograman
| PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 96 Tampilan setelah di running Gambar 4.9 Hasil running pemograman b. Buatlah sebuah program untuk menemukan data yang terdapat didalam element. Buatlah program baru dengan cara file – menu – source atau gunakan CTRL + N kemudian ketik source programnya seperti dibawah ini: Latihan array 1 dimensi
| PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 97 Berikut flowchart 1 dimensi
| PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 98 Berikut sourcodenya: #include <iostream> #include <conio.h> using namespace std; int main() { float data[5]; float rata,total=0; //input data ke array for(int k=0;k<5;k++){ cout<<"masukan data["<<k<<"]="; cin>>data[k]; } //menghitung total nilai pada array for(int j=0;j<5;j++){ total=total+data[j]; }
| PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 99 //menghitung rata-rata rata=total / 5; cout<<"rata-rata pada array="<<rata<<endl; getch(); } Ketik code dan compile sampai benar Gambar 4.10 Struktur pemograman
| PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 100 Tampilan setelah di compile Gambar 4.11 Hasil running pemograman C. buatlah sebuah program untuk menemukan data yang terdapat didalam element. Buatlah program baru dengan cara file – menu – source atau gunakan CTRL + N kemudian ketik source programnya seperti dibawah ini
| PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 101 Flowchart Array 1 dimensi
| PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 102 Penjelasan : Dimulai dengan terminator dan header, lalu deklarasi variabelnya main (); int data[10] = {4, 1, 0, -9, 8, 5, -1, 2, 3, -7}; lalu tampikan cout << "Data yang dicari : "; cin >> x; untuk sistem ketemu = 0;, kemudian decision for(elemen=0; elemen<= 9; elemen++), jika true maka int elemen, ketemu, x;if (data[elemen] == x) untuk sistem ketemu = !ketemu;break; atau if (ketemu == 0) maka tampilkan cout << "Data tidak ditemukan "; jika bukan maka else untuk menampikan cout << "Data ada di elemen : " << elemen; dan di tutup dengan getch. #include<iostream> #include<conio.h> using namespace std; main() { int data[10] = {4, 1, 0, -9, 8, 5, -1, 2, 3, -7}; int elemen, ketemu, x; cout << "Data yang dicari : "; cin >> x; ketemu = 0; for(elemen=0; elemen<= 9;elemen++)
| PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 103 { if (data[elemen] == x) { ketemu = !ketemu; break; } } if (ketemu == 0) cout << "Data tidak ditemukan "; else cout << "Data ada di elemen : " << elemen; getch(); }
| PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 104 Ketik code dan Compile sampai benar Gambar 4.12 Struktur pemograman Hasil running jika data ditemukan dan menampikan elemen Gambar 4.13 Struktur pemograman
| PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 105 Hasil running jika data tidak di temukan (ketemu=0) Gambar 4.14 Struktur pemograman Hasil running jika data di temukan sesuai urutannya Gambar 4.15 Struktur pemograman D. Buatlah sebuah program untuk menemukan data yang terdapat didalam element. Buatlah program baru dengan cara file – menu – source atau gunakan CTRL + N kemudian ketik source programnya seperti dibawah ini:
| PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 106 Latihan array 2 dimensi Flowchart Matriks
| PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 107 #include <iostream> #include <conio.h> using namespace std; int main() { int matrix[3][4] = {{5,10,1,11},{4,7,67,-9},{9,0,45,3}}; for (int i = 0; i<3; i++) { for (int j=0;j<4; j++) { cout<<matrix[i][j]<<" "; } cout<<endl; } getch(); }
| PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 108 Ketik code dan Compile sampai benar Gambar 4.16 struktur pemrograman Hasil running Gambar 4.17 struktur pemrograman
| PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 109 4.6. KESIMPULAN DAN SARAN 1. Kesimpulan Array ialah kumpulan variabel yang mempunyai tipe data yang sama serta dinyatakan menggunakan nama yang sama. Array salah satu konsep yang sangat penting pada sebuah pemograman, karena array dapat menyimpan data juga referensi objek pada jumlah yang banyak serta terindeks. Arra menggunakan indeks integer untuk menemukan urutan elemen-elemennya, 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. Dan setiap jenis array mempunyai kegunaannya masing-masing. 2. Saran Array yang akan dipergunakan harus dideklarasikan terlebih dahulu. Ketika akan mendeklarasikan array kita harus memperhatika hal-hal berikut : a. Indeks array selalu dimulai dari 0 b. Mengetahui besaran, karena array tidak bisa diperbesar ataupun diperkecil c. Mengetahui tipe data yang ingin dimasukan kedalam array, karena jika inputan berbeda dengan initial array maka akan terjadi eror.
| PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 110
| PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 111 BAB V POINTER OLEH Hendra Sunarji 07352211052 PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS KHAIRUN TERNATE 2022
| PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 112 BAB V POINTER 5.1. PENGERTIAN POINTER Pointer adalah suatu variabel penunjuk, berisi nilai yang menunjuk alamat suatu lokasi memory tertentu.jadi pointer tidak berisi niilai data,melainkan berisi suatu alamat memory.lokasi memori tersebut bisa diwakili sebuah variabel atau juga alamat memory secara lansung. Pointer dapat didefenisikan sebagai suatu variabel yang menyimpan alamat memory.pointer juga merupakan salah satu vitur C++ yang berbahaya karena dapat mengakibatkan sistem pada operasi komputer menjadi crash(rusak) pemggunaan pointer dengan cara yang salah juga dapat menyebabkan bug atau error yang sangat sulit untuk ditemukan pada program. 5.2. DUA OPERATOR POINTER BORLAND C++ Suatu pointer dapat berisi alamat dari suatu variabel lain dan untuk dapat mengakses nilai yang ada di dalam variabel berpointer secara lansung dapat dilakukan dengan menggunakan operator. a. Operator Deference (&) Operator Dereference (&) adalah operator yang berfungsi untuk mendeklarasikan suatu variabel dalam penggantian memori. Operator ini biasa disebut sebagai “Address Of”. Jadi misalkan ketika ingin mengetahui dimana variabel akan disimpan (untuk mengetahui lokasi/alamat dimana variabel disimpan di memori). Bisa meletakkan "&" atau biasa disebut AND (Ampersand Sign) di depan variabel yang berarti Address Of.
| PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 113 b. Operator Deference (&) Operator Dereference (&) adalah operator yang berfungsi untuk mendeklarasikan suatu variabel dalam penggantian memori. Operator ini biasa disebut sebagai “Address Of”. Jadi misalkan ketika ingin mengetahui dimana variabel akan disimpan (untuk mengetahui lokasi/alamat dimana variabel disimpan di memori). Bisa meletakkan "&" atau biasa disebut AND (Ampersand Sign) di depan variabel yang berarti Address Of. 5.3 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 dengan nilai dari alamat memori yang ditunjuk oleh pointer. Pointer sendiri dikenal dengan variabel sehingga cara pengaksesannya tidak jauh berbeda. Untuk kita mengakses nilai dari pointer kita, hanya cukup dengan memanggil identitas dari pointer tersebut. pInt Pemanggilan akan menunjukkan nilai (alamat memori) dari variabel yang ditunjuk oleh pointer tersebut. Untuk mengubah nilai (tujuan) dari pointer, kita memerlukan operator address-of (&) pada operand sumber. pInt = &myVar Operand sumber akan menampilkan alamat memori dari myVar, dan hal itu merupakan nilai yang dibutuhkan variabel pointer. Kegunaan utama dari pointer adalah untuk menyimpan alamat memori dari sebuah variabel dan alamatnya dari suatu fungsi. Pointer dapat meningkatkan kinerja untuk operasi berulang.
| PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 114 5.4 Tujuan Praktikum Pointer C++ a. Mengetahui cara penggunaan operator pada pointer. b. Mampu mempraktekkan struktur pointer pada program C++. c. Membuat file kerja dengan bahsa program bahasa C++. d. .Mempraktekan cara penggunaan pointer konstanta dan pointer variabel c. membuat file kerja dengan bahasa C++ 5.5 Langkah-langkah Pratikum Pointer C++ a. Buka aplikasi Dev C++ Gambar 5.1 Aplikasi Dev C++ b. Tampilan awal Dev C++ tampak seperti gambar di bawah Gambar 5.2 Tampilan Awal C++
| PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 115 c. Buatlah program baru dengan cara: File – new Source atau gunakan Ctrl+N seperti gambar di bawah Gambar 5.3 Membuat Program Bar d. ketik source code programnya seperti gambar dibawah ini Gambar 5.4 struktur code c++ e. setelah menulis codenya tekan compile and run sepertigambar di bawah ini Gambar 5.5 tampilan running
| PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 116 f. Akan muncul dialog untuk menyimpan program: beri nama sesuai dengan keinginan kalian,misal “punyaku”kemudian save denagn ekstensi “cpp” . Gambar 5.6 proses penyimpanan g. Setelah klik save akan muncul jendela yang menampilkan hasil program “Hello World” yang telah dibuat Gambar 5.7 hasil running h. anda telah berhasil membuat program “hello world” dengan bahasa pemrograman C++ menggunakan Dev C++ 5.6 LATIHAN KEGIATAN PRAKTIKUM A. pendeklarasian pointer konstanta Suatu pointer dapat dideklarasika secara konstanta atau secara tetap tidak dapat di ubah.untuk mendeklarasikan pointer secara konstanta dengan memberikan kata const didepan nama konstanta,berikut contoh pendeklarasian pointer konstanta:
| PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 117 Flowchart Pointer Konstanta
| PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 118 Penjelasan : Dimulai dengan terminator “mulai” dan header sebagai bentuk fungsinya . setelahnya di proses char const *nama= "Borland c++"; sehingga menampilkan cout<<"Nama Program ="<<nama<<endl; yang telah di clear , lalu sistem proses nama = "Visual C++";. lalu tampilkan cout<<"Nama Program ="<<nama<<endl dan di selesaikan dengan getch(); #include<stadio.h> #include<conio.h> #include<iostream.h> Using namespace std; int main() { Char *const nama = “borland C++”; system("cls"); cout<<"hendra sunarji"<<endl; Cout<<”nama program =”<<nama<<endl; Nama = “visual C++”; Cout<<”nama program = “<<nama<<endl; Getch(); }
| PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 119 Compile dan perbaiki program sampai benar Gambar 5.8 struktur kode program Kemudian di compile dan akan tampak seperti berikut Gambar 5.9 hasil running B. Pendeklarasian pointer variabel Dalam mendeklarasikan sebuah variabel menjadi pointer kita hanya perlu menambahkan tanda asterisk(*) di depan nama variabel tersebut.Contoh penggunaan pointer dereference:
| PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 120 Flowchart pointer variabel Penjelasan : Dimulai dengan Terminator “mulai”dan header pada umummnya. Masukan fungsi pointer int ilham, amir, *raka; dan di proses ilham = 75 ;amir = ilham; raka = &ilham; lalu tampilkan keterangannya cout<<"Nilai ILHAM = "<<ilham<<endl; cout<<"Nilai AMIR = "<<amir<<endl; dan cout<<"Nilai RAKA = "<<raka<<endl; dan di tutup dengan gethc();.
| PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 121 #include<stdio.h> #include<conio.h> #include<iostream> using namespace std; int main() { int Ilham, Amir, *Raka; Ilham = 75; Amir = Ilham; Raka = &Ilham; cout<<"nilai Ilham = "<<Ilham<<endl; cout<<"nilai Amir = "<<Ilham<<endl; cout<<"nilai Raka = "<<Ilham<<endl; getch(); }
| PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 122 Compile dan perbaiki proram sampai benar Gambar 5.10 struktur code program Tampilan setelah di running Gambar 5.11 hasil running
| PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 123 5.7 STUDI KASUS a.operasi aritmatika pada pointer flowchart operasi aritmatika pada poin
| PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 124 Penjelasan Flowchart : Dimulai dengan simbol terminal,mendeklarasi Int nilai [3], *penunjuk, nilai [0] = 125, nilai [1] = 345, nilai [2] = 750, penunjuk = &nilai [0] menggunakan simbol proses, lalu tampilkan nilai [1] ada di dalam memori penunjuk +1, dan nilai [2] ada di dalam penunjuk +2 menggunakan simbol input/output. Diakhiri dengan symbol terminal //operasi aritmatika pada pointer #include<iostream> #include<conio.h> using namespace std; main() { int nilai[3],*petunjuk; nilai[0] = 125; nilai[1] = 345; nilai[2] = 750; petunjuk = &nilai[0]; cout<<"nilai" <<*petunjuk <<"ada di alamat memori "<<petunjuk<<endl; cout<<"nilai" <<*(petunjuk+1) <<"ada di alamat memori "<<(petunjuk+1)<<endl; cout<<"nilai" <<*(petunjuk+2) <<"ada di alamat memori "<<(petunjuk+2)<<endl; getch(); }
| PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 125 Compile dan perbaiki hingga benar Gambar 5.12 strutur code program Hasil running Gambar 5.13 hasil running
| PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 126 b.pointer dalam array flowchart pointer dalam array Penjelasan Flowchart : Dimulai dengan menggunakan simbol terminal,kemudian mendeklarasi char c[4] lalu memasukan kondisi for (int i=0;i<4/++i) menggunakan simbol preparation,lalu print addres menggunakan simbol input/output,dan akhiri dengan simbol terminal.
| PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 127 #include<iostream> #include<conio.h> using namespace std; main(){ char c[4]; int i; for(i=0;i<4;++i) { printf("addres of c[%d]=%x\n",i,&c[i]); } getch(); } Compile dan perbaiki program hingga benar Gambar 5.14 struktur code program Hasil running Gambar 5.15 hasil running
| PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 128 5.8 KESIMPULAN DAN SARAN A.KESIMPULAN Suatu variabel yang bertipe pointer tidaklah berisi data melainkan alamat suatu data. Tipe variable pointer sama dengan tipe yang dikenal oleh variable biasa, misalnya int, float, char dan sebagainya. nama dari variabel pointer juga mengikuti ketentuan nama variable biasa. perbedaan variabel pointer dengan variable biasa yaitu penggunaan tanda asterisk (*) didepan nama varibel pada waktu deklarasi. B.SARAN Penggunaan pointer pada proses program harus benar-benar diperhatikan. Sedikit saja kesalahan dalam menggunakan pointer akan mengakibatkan kesalahan fatal pada program. Karena pointer bisa langsung menunjukan pada lokasi memori, apabila lokasi yang ditunjuk salah, berarti data yang diambil juga akan salah, dan sudah tentu program anda akan menjadi salah juga.
| PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 129
| PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 130 BAB VI STACK OLEH Hendra Sunarji 07352211052 PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS KHAIRUN TERNATE 2022
| PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 131 BAB VI STACK 6.1 PENDAHULUAN 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 data yang lain, koleksi dari objek-objek homogen, atau suatu urutan elemen yang elemennya dapat diambil dan ditambah hanya pada posisi akhir (top) saja. Stack merupakan bentuk khusus dari suatu data, dimana node yang ditambahkan dalam list dan diambil dari list hanya pada kepalanya, atau dengan prinsip pengolahannya adalah last-in fisrt-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 seolaholah diletakkan di atas yang lain. Dalam suatu tumpukan akan dapat dilakukan operasi penambahan (penyisipan) dan pengambilan (penghapusan) data melalui ujung yang sama, ujung ini merupakan ujung atas tumpukkan. Sebelum struktur data tumpukkan ini digunakkan, dideklarasikan dahulu dalam kamus data. 6.2 Tujuan Praktikum a. Memahami konsep Stack b. Mempraktikan cara penggunaan Stack dalam C++
| PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 132 6.3 Langkah-langkah Kegiatan Praktikum a. Bukalah aplikasi DevC++ melalui start menu: Gambar 6.1 tampilan aplikasi DevC++ b. Tampilan awal tampak seperti berikut: Gambar 6.2 tampilan awal DevC++ c. Buatlah program baru dengan cara file-new-source atau gunakan Ctrl+N atau seperti gambar berikut: Gambar 6.3 membuat project baru
| PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 133 d. Ketik source kode programnya seperti gambar berikut ini: Gambar 6.4 Struktur code C++ e. Setelah menulis sourcenya, klik compile and run atau F11 seperti gambar berikut ini: Gambar 6.5 Proses Compile
| PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 134 f. Akan muncul dialog untuk menyimpan program. Beri nama sesuai keinginan, misalnya “stack” kemudian save dengan ekstensi “cpp”. Gambar 6.6 Proses Penyimpanan g. Setelah klik save, akan muncul jendela yang menampilkan hasil program stack yang telah dibuat Gambar 6.7 Tampilan hasil running h. Program “stack” berhasil dibuat menggunakan bahasa pemrograman C++ menggunakan aplikasi DevC++
| PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 135 6.4 Latihan Kegiatan Praktikum Buatlah program baru dengan cara file-new-source atau gunakan CTRL+N kemudian ketik source atau gunakan CTRL+N , kemudian ketik source code seperti dibawah ini : #include <iostream> #define MAX 10 // latihan 1 using namespace std; struct stack { int top, data [MAX]; }Tumpukan; void init(){ Tumpukan.top = -1; } bool isempty(){ return Tumpukan.top == -1; } bool isfull(){ return Tumpukan.top == MAX -1; } void push(){ if (isfull()){ cout<<"\nTumpukan penuh" <<endl; } else { Tumpukan.top++; cout<<"\nMasukkan data ="; cin>> Tumpukan.data[Tumpukan.top]; cout<<"data"<< Tumpukan.data[Tumpukan.top] << "masuk ke stack"<<endl; } } void pop(){ if (isempty()){ cout<< "\ndata kosong\n"<<endl; } else{ cout<< "\ndata "<<Tumpukan.data [Tumpukan.top]<< "sudah terambil"<<endl; Tumpukan.top--; } }
| PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 136 void PrintStack(){ if (isempty()){ cout<<"tTumpukan kosong"; } else{ cout<<"\nTumpukan : "; for (int i = Tumpukan.top; i >= 0; i--) cout<< Tumpukan.data[i] << ((i==0) ? "": ","); } } int main(){ int pilihan; int(); do{ PrintStack(); cout<< "\n1.input (push)\n" << "2.hapus (Pop)\n" << "3.keluar\n" << "masukan pilihan:"; cin>>pilihan; switch (pilihan){ case 1: push(); break; case 2: pop(); break; case 3: break; default: cout << "pilihan tidak tersedia"<< endl; break; } system("cls"); }while("hoose !=3"); }
| PRAKTIKUM ALGORITMA DAN STRUKTUR DATA 137 Compile dan perbaiki program sampai benar Gambar 6.8 Struktur code latihan C++