151 Gambar4.11TampilanhasilrunningC++ 4.5STUDIKASUS BuatlahFlowchartdariProgram“ArrayDimensiSatu” Start Int Ujian[5] Intk=0 Output faridarustam NPM: 07352211047
152 False true false true False true Gambarflowchart4.1 Penjelasan: Flowchartdiatas,dimulaidenganmenggunakansimbolterminator,lalu mendeklarasikan“intujian,lalumenginputNama,NPM,danjudularray menggunakansimbolinput/outputlalumasukkankondisidanbandingkan menggunakansimbolpreparationdandecision.Jikakondisibenark<5,j<5 makapernyataanTrue,jikakondisik>5,j>5makapernyataanfalse.Lalu K++ K< Intj=0 Input ujian[k] j++ j<5 Output ujian[j] End
153 akhiridenganmenggunakansimbolterminator. Tulislahsourcecodedariprogramberikutini: a.Latihan1 Buatlahprogrambarudengancarafile-new-sourceataugunakanCtrl– N,kemudianketiksourcecodeprogramsepertidibawahini: #include<iostream> usingnamespacestd; main() { //inisialosasiarray //intujian[5]={90,95,78,85}; intujian[5]; //inputdatakearray for(intk=0;k<5;k++) { cout<<"masukkandatanilaiujian["<<k<<"]=";
154 cin>>ujian[k]; } //tampildataarray for(intj=0;j<5;j++) { cout<<"datanilaiujian["<<j<<"]="<<ujian[j]<<endl; } } Compiledanperbaikiprogramsampaibenar.
155 Gambar4.12Sourcecodeprogram Setelahprogramdiperbaikidandecompile,makatampilanhasilrunning akantampaksepertigambardibawahini:
156 Gambar4.13Tampilanhasilrunningprogram
157 BuatlahFlowchartdariProgram“ArrayDimensiSatu” False True False Start Float 1 Floatrata, total= Output Faridarustam NPM: 07352211047 j< Intj=0 j+ Rata=tota Output data Total=t otal+ data[j] Intk=0 End K++ K< 1
158 true true Flowchart4.2 Penjelasan: Flowchartdiatas,dimulaidenganmenggunakansimbolterminator,lalu mendeklarasikan“floatdata,floatratatotal,menggunakansimbol input/outputlalumasukkankondisidanbandingkanmenggunakansimbol preparationdandecision.Jikakondisibenark<5,j<5makapernyataanTrue, jikakondisik>5,j>5makapernyataanfalse.Laluakhiridengan menggunakansimbolterminator. b.Latihan2 Buatlahprogrambarudengancarafile-new-sourceatau gunakanCtrl–N,kemudianketiksourcecodeprogramseperti dibawahini: #include<iostream> #include<conio.h> usingnamespacestd; Input data
159 main() { floatdata[5]; floatrata,total=0; //inputdatakearray for(intk=0;k<5;k++) { cout<<"Masukkandata["<<k<<"]="; cin>>data[k]; } //menghitungtotalnilaipadaarray for(intj=0;j<5;j++) { total=total+data[j]; } //menghitungrata-rata
160 rata=total/5; cout<<"rata-ratadatapadaarray="<<rata<<endl; } Compiledanperbaikiprogramsampaibenar. Gambar4.14Sourcecodeprogram Setelahprogramdiperbaikidandicompile,makatampilanhasilrunning akantampaksepertigambardibawahini:
161 Gambar4.15Tampilanhasilrunningprogram
162 BuatlahFlowchartdariProgram“Array1Dimensi” No Start Intdata[10]={4,1,0,-9,8,5,- 1,2,3,-1,2,3,-7}intelemen, ketemux Input Datayangingin For (elemen=0;elemen<=9;ele men++ Data adadi Ifketemu
163 Yes Flowchart4.3 Penjelasan: Flowchartdiatasdimulaidenganmenggunakansimbolterminal,lalu mendeklarasikan“intdata,intelemen,ketemudanx”.menginputnilaix menggunakansimbolinput/outputlalumasukankondisidanbandingkan menggunakansimbolpreparationdandecision,jikakondisi(ketemu=0) makahasil“dataadadielemen”menggunakansimbolinput/output,lalu mengakhiridenganmenggunakansimbolterminal. c.Latihan3 Buatlahprogrambarudengancarafile-new-sourceatau gunakanCtrl–N,kemudianketiksourcecodeprogramseperti dibawahini: Datatidak ditemukan End
164 #include<iostream> #include<conio.h> Usingnamespacestd; Main() { Intdata[10]={4,1,0,-9,8,5,-1,2,3,-7}; Intelemen,ketemu,x; Cout<<’’Datayangdicari’’:’’; Cin>>x; Ketemu=0; For(elemen=0;elemen<=9;elemen++) { If(data[elemen]==x) { Ketemu=!ketemu; Break;
165 } } If(Ketemu===0) Cout<<‘’Datatidakditemukan’’; Else Cout<<’’Dataadadielemen:’’<<elemen; Getch(); }
166 Gambar4.16Sourcecodeprogram Setelahprogramdiperbaikidandicompile,makatampilanhasilrunning akantampaksepertigambardibawahini:
167 Gambar4.17Tampilanhasilrunningprogram
168 BuatlahFlowchartdariProgram“Array2Dimensi) False START Intmatrix[3][4]= {5,10,1,11},{4,7,67,- 9},{9,0,45,3} For(inti=0,i<3;i++) For(intJ=0;J=J<4; J++)
169 Flowchart4.4 Penjelasan: Flowchartdiatasdimulaidenganmenggunakansimbolterminator,lalu mendeklarasikanintmatrix[3][4]besertanilainya.Kemudianmasukan kondisipertamayaitufor(inti=0;I<3;i++)dankondisikeduaadalahfor(int j-0;j<4;j++)menggunakansimbolpreparation,laluhasilmatrix[i][J] denganmenggunakansimbolinput/output,dandiakhiridengan menggunakansimbolsimbolterminal. Hasil Matrix[i][j] End
170 d.Latihan4 Buatlahprogrambarudengancarafile-new-sourceatau gunakanCtrl–N,kemudianketiksourcecodeprogramseperti dibawahini: #include<iostream> #usingnamespacestd; Main() { Intmatrix[3][4]={{5,10,1,11},{4,7,67,-9},{9,0,45,3}}; For(inti=0;i<3;i++) { For(intj=0;j<4;j++) { Cout<<matrix[i][j]<<‘’’’; } Cout<<endl;
171 } Return0; } Perbaikidancompilesampaibenar Gambar4.18Sourcecodeprogram Setelahprogramdiperbaikidandicompile,makatampilanhasilrunning akantampaksepertigambardibawahini:
172 Gambar4.19Tampilanhasilrunning 4.6KESIMPULANDANSARAN a.Kesimpulan Arrayadalahsekumpulanvariabelyangmemilikitipeyangsama dandinyatakandengannamayangsama.Arraydideklarasikandibagian deklarasivariabel.Arraydibedakanmenjadiduayaitu,ArraySatuDimensi danArrayDuaDimensi.Dansetiapjenisarraymempunyaikegunaannya masing– masing.Arraydapatbertipesederhanasepertibyte,word, integer,real,Boolean,char,string,danjugadapatbertpescalaratau subrange. b.Saran
173 Laporan ini masih terdapat banyak kesalahan karena terbatasnyapengetahuandankurangnyareferensimataeripadalaporan ini,diharapkan pembaca dapatmemberikan saran sebagaimotivasi pembuatanlaporanselanjutnya.
174
175
176 LAPORANPRAKTIKUM ALGORITMADANSTRUKTURDATA
177 NAMA :FARIDARUSTAM NPM :07352211047 FAKULTASTEKNIK PRODITEKNIKINFORMATIKA UNIVERSITASKHAIRUN TERNATE2022 BABV
178 POINTER 5.1Pendahuluan Pointermerupakantipedatayangmenunjukanposisi penyimpanandatadalam sebuahmemory.Pointerjugamerupakanpenunjuk dalam komputer,yangmenunjukantataletakfileyangadadalam memory. Suatupointerdapatmenuntukanalamatdarisuatuvariabellaindandapat mengaksesnilaiyangadadalam variabelberpointer.Denganpointerkitadi mungkinkanuntukmenunjuksuatumemori,mendapatkanisidarimemori danmengubahisidarimemoriyangditunjuk.Pointerdapatdideklarasikan sepertivariabelbiasadenganmenambahkantanda*untukmengawalinama darivariabel. Berikutmerupakanoperator-operatoryangadapadapointer a.Address-ofoperator(&) Operatorinimerupakanoperatoryangmemungkiknakitauntuk dapatmelihatalamatmemoriyangdimilikiolehvariabeltersebut. Tata cara menggunakannya yaitu letakkan tanda & didepat identitassaatpemanggilanvariabel. Contohnyayaitu: #include<iostream>
179 #include<conio.h> Usingnamespacestd; Main() { Intvariabel=2; Cout<<&variabel<<”memilikinilai“<<variabel<<endl; Return0; } b.DereferenceOperator(*) Operator ini merupakan operator yang memungkinkan kita mendapatkanisiataunilaidarisebuahmemoriberdasarkanalamat memori. Contohnyayaitu: #include<iostream> #include<conio.h> Usingnamespacestd;
180 Main() { Intvariabel=2; Cout<<variabel<<endl; Cout<<&variabel<<endl; Cout<<*&variabel<<endl; Return0; } Cara pengaksesan pada pointeradalah kita harus memanggil identitasdaripointertersebut.Berikutmerupakanidentitasdari pointer: PInt:pemanggilandaripintiniakanmenghasilkannilaidaripointer yangberupaalamatmemoridarivariabelyangditunjukolehprinter. Untuk mengubah nilaiatau tujuan daripointer maka kita membutuhkanoperatoraddress-of(&). PInt=&myvar:operatoriniakanmenghasilkanalamatmemoridari myvar(myvariabel),danhalitumerupakannilaiyangditunjukdari pointer.Variabelpointerhanyadapatmenerimaalamatmemori
181 darivariabelyangmemiliitipedatayangsama. *pInt=2:sebelum mencobamengubahnilaidarimemoriyangdi tunjukolehpointerkitaharusyakinbahwamemoriitulahyangingin diubahnilainya.Halyangperludiingatadalah,berikannilaiawaldi saatdeklarasipointer. 5.2TUJUANPRATIKUM f. MempraktekancarapenggunaanAplikasiDevC++. g. MembuatfilekerjadenganBahasaC++. h. Memulaimembuatprogrambaruyangtelahdibuat. i. Memanggilataumembukakembaliprogramyangtelahdisimpan. j. Membuatprogrammenjadiprogramyangexecute. 5.3LANGKAH–LANGKAHKEGIATANPRATIKUM h. BukalahaplikasiDevC++melaluistartmenu:
182 Gambar5.1AplikasiDevC++ Tampilanawaltempattampaksepertigambardibawahini: Gambar5.2TampilanawalDevC++ i. Buatlahprogrambarudengancara: File– new – sourceataugunakanCTRL– N atausepertigambar dibawahini:
183 Gambar5.3Mebuatproyekbaru j. Ketiksourcecodeprogramnyasepertigambardibawahini:
184 Gambar5.4StrukturCodeC++ k. Setelah menulissourcenya,tekan compileand runsepertigambar dibawahini:
185 Gambar5.5ProsesCompile l. Akan munculdiolog untukmenyimpan program Barinama sesuai keinginankalian,misal“Menentukanbilangangenap”kemudiansave denganekstensi“cpp”.
186 Gambar5.6ProsesCompile m. Setelahkliksave,akanmunculjendelayangmenampilkanhasilprogram Menentukanbilangangenapdanganjilyangtelahdibuat
187 Gambar5.7Tampilanhasilrunning Andatelahberhasilmembuatprogrampointer 5.4LATIHANKEGIATANPRAKTIKUM b. Latihan1pointerkonstanta Buatlahprogram barudengancarafile–new–sourceataugunakan CTRL–Nkemudianketiksourcecodeprogramsepertidibawahini: //---------------------------------------------//
188 //PendeklarasianPointerKonstanta// //---------------------------------------------// #include<iostream> #include<conio.h> usingnamespacestd; main() { charconst*nama="Borlandc++"; cout<<"NamaProgram="<<nama<<endl; nama="VisualC++"; cout<<"NamaProgram="<<nama<<endl; getch(); }
189 Gambar5.8pointerkonstanta Setelahprogramdiperbaikidandicompile,makatampilanhasilrunning akantampaksepertigambardibawahini:
190 Gambar5.9hasilrunningpointerkonstanta c.Latihan2pointervariabel
191 Flowchartpointervariabel Ilham=75 Amir=ilham Raka=&ilham Printnilaiilham,amir, end Start intilham,amir,
192 Flowchart5.1pointervariabel Buatlahprogram barudengancarafile–new–sourceataugunakan CTRL–Nkemudianketiksourcecodeprogramsepertidibawahini: //--------------------------------------------// //PenggunaanPointerDereference// //-------------------------------------------// #include<iostream> #include<conio.h> #include<windows.h> usingnamespacestd; main() {
193 intilham,amir,*raka; ilham=75; amir=ilham; raka=&ilham; cout<<"NilaiILHAM="<<ilham<<endl; cout<<"NilaiAMIR="<<amir<<endl; cout<<"NilaiRAKA="<<raka<<endl; getch(); }
194 Gambar5.10pointervariabel Setelahprogramdiperbaikidandicompile,makatampilanhasilrunning akantampaksepertigambardibawahini:
195 Gambar5.11hasilrunningpointervariabel 5.5STUDIKASUS a.OperasiAritmatikaPadaPointer FlowchartOperasiAritmatikaPadaPointer
196 start intnilai[3], nilai[0]=125; nilai[1]=345; nilai[2]=750; Printnilaipetunjuk,nilai petunjuk+1,nilai end
197 Flowchart5.2OperasiAritmatikaPadaPointer Buatlahprogram barudengancarafile–new–sourceataugunakan CTRL–Nkemudianketiksourcecodeprogramsepertidibawahini: #include<iostream> #include<conio.h> usingnamespacestd; main() { intnilai[3],*penunjuk; nilai[0]=125; nilai[1]=345; nilai[2]=750; penunjuk=&nilai[0]; cout<<"Nilai"<<*penunjuk<<"adadialamatmemori"<<penunjuk<<endl;
198 cout<<"Nilai"<<*(penunjuk+1)<<"adadi memori"<<(penunjuk+1)<<endl; cout<<"Nilai"<<*(penunjuk+2)<<"adadialamat memori"<<(penunjuk+2)<<endl; getch(); } Gambar5.12OperasiAritmatikaPadaPointer
199 Setelahprogramdiperbaikidandicompile,makatampilanhasilrunning akantampaksepertigambardibawahini: Gambar5.13hasilrunningOperasiAritmatikaPadaPointer b.Pointerdalamarray
200 flowchartPointerdalamarray false True flowchart5.3Pointerdalamarray start inti For (i=0;i<4;++i) Printaddress end