P06 Pointer dan Fungsi

dokumen-dokumen yang mirip
P00 Perintah Dasar dalam Linux

P01 Pengenalan Pemrograman C++ di Linux

P04 Mengurutkan Data dan Waktu Proses

P03 Sekilas Array dan Penggunan Berkas Teks

P07 Konstanta, Makro, Struktur, dan Kelas

P02 Menulis dan Membaca Berkas Teks

P05 Visualisasi Data dengan gnuplot

PERTEMUAN VI POINTER 6.1 Tujuan Praktikum 6.2 Teori Penunjang Pointer

SOAL C++ Created by Yuli Astuti,S.Kom Copyright 2009

MODUL. Pointer. Modul Praktikum C++ Dasar Pemrograman Komputer JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK

Kurikulum Qt. Chapter 8 - Polymorphism. Polimorfisme. Problema Pewarisan Tunggal (Single Inheritance)

Algoritma dan Struktur Data Praktikum 3. Pointer

ALGORITMA DAN PEMROGRAMAN 2. 3 SKS By : Sri Rezeki Candra Nursari

POINTER. Tim Alpro Teknik Informatika

Pengenalan Struktur Data. Farah Zakiyah Rahmanti 2014

A. TUJUAN PEMBELAJARAN

MODUL 1 PENGENALAN PROGRAM C++ DAN PERNYATAAN MASUKAN-KELUARAN

Algoritma dan Struktur Data. Ramos Somya, S.Kom., M.Cs.

Algoritma dan Struktur Data. Pertemuan 5 Pointer

Program Menggabungkan 2 Tipe String

Chapter 9 Operator Types dan Operator Overloading

Kurikulum Qt. Chapter 4 Function. Fungsi

Algoritma dan Struktur Data. Ramos Somya

Kurikulum Qt. Chapter 5 Pointer dan References. Agenda. Apa itu Pointer? Memory Komputer. Mengambil Alamat Memory dari Variabel

Pemrograman I Bab V Percabangan. Adam Mukharil Bachtiar, S.Kom. Universitas Komputer Indonesia

Algoritma Pemrograman & Struktur Data

Algoritma Pemrograman & Struktur Data

MODUL 10 Fungsi 10.1 Kompetensi 10.2 Alat Dan Bahan: 10.3 Ulasan Teori: Dasar Fungsi Deklarasi Fungsi

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

MODUL V POINTER DAN STRING

INF-103 Pemrograman II VECTOR & STRING. Dr. Taufik Fuadi Abidin, M.Tech Irvanizam Zamanhuri, M.Sc. Program Studi Informatika FMIPA UNIVERSITAS KUALA

FILE INPUT/OUTPUT. Overview

MODUL 7 FUNGSI A. Tujuan. B. Petunjuk. C. Dasar Teori

PERTEMUAN V PEMROGRAMAN TERSTRUKTUR DENGAN VISUAL C Setiap bahasa C mempunyai satu fungsi dengan nama main (program utama).

TUGAS TEORI ALGO LANJUT

MATERI/BAHAN PRAKTIKUM PENDAHULUAN DAN PENGENALAN (IDENTIFIER)

TIM ASISTEN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN 2016

Pemrograman I Bab III Tipe Data, Variabel, dan Operasi Perhitungan. Adam Mukharil Bachtiar, S.Kom. Universitas Komputer Indonesia

Pemrograman I Bab VI Pengulangan. Adam Mukharil Bachtiar, S.Kom. Universitas Komputer Indonesia

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-11 Pointer 2

1 - Bahasa Pemrograman

pada program di atas, akan ditampilkan alamat memori dari variabel x, bukan nilai x.

Data structure :Metode LINK LIST. Kusnawi, S.Kom, M.Eng STMIK AMIKOM Yogyakarta

REVIEW ARRAY. Institut Teknologi Sumatera

Pernyataan if MODUL V PERCABANGAN

BAB III POINTER. Type *variabel-name

ALGORITMA DAN STRUKTUR DATA POINTER DAN FUNCTION

Abstrak. Pendahuluan. cerita. Pemrograman. mewakili semua. Struktur Bahasa. dan deklarasi. Mari. ilmuti.org Seluruh disertakan dalam

Perulangan, Percabangan, dan Studi Kasus

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-10 Pointer 1

Pointer dan Array Dinamik. IF2121 / Algoritma dan Struktur Data Sem /2018

VARIABEL & TIPE DATA PEMROGRAMAN C++

PEMROGRAMAN DAN METODE NUMERIK Semester 2/ 2 sks/ MFF 1024

MODUL ALGORITMA DAN PEMROGRAMAN. STMIK AMIKOM Yogyakarta. Rajif Agung Yunmar, S.Kom., M.Cs.

POINTER. Tim Alpro Teknik Informatika

MODUL. Fungsi (Function) Modul Praktikum C++ Dasar Pemrograman Komputer JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK

PEMROGRAMAN BERORIENTASI OBJEK

ARRAY PENGANTAR PROGRAM STUDI. Institut Teknologi Sumatera

E STRUKTUR DATA & E PRAKTIK STRUKTUR DATA. Pointer & Function. Alfa Faridh Suni, S.T., M.T. PTIK

Minggu ke-14 Typedef, Struct & Command Line Argument

Inheritance dan Polimorfisme

Alpro & Strukdat 1 C++ (Sub Program) Dwiny Meidelfi, S.Kom., M.Cs.

Pemrograman Dasar C. Minggu 6

BAB VII. FUNCTION. A. Pengantar Function. #include <iostream.h> #include <conio.h> { clrscr(); // detail function

//Kelas ini berisi data yang hendak disimpan ke dalam database

Tipe Data, Variabel, Input/Output

Pendahuluan Pemrograman Mikrokontroler

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET BAHASA PEMROGRAMAN Fungsi : Passing Parameter by Value & Semester 3

04. Single Linked List

Komentar, Identifier, Konstanta dan Variabel

Pointer. Yuliana Setiowati

C Programming (re-view)

MODUL 2 TIPE DATA, KONSTANTA DAN VARIABEL

Konsep Dasar Pemrograman Dan Pengenalan C++

8. Pointer. S. Indriani L, M.T

P3 Dasar Struktur Data TIF42/SIF42

DISUSUN OLEH BAB II C DAN C++ berikut ini: pilih radio HAL 1

PENGENALAN BAHASA C DAN C++

MODUL ALGORITMA DAN PEMROGRAMAN. STMIK AMIKOM Yogyakarta. Rajif Agung Yunmar, S.Kom., M.Cs.

A. TUJUAN 1. Memecah program dalam fungsi fungsi yang sederhana. 2. Menjelaskan tentang pemrograman terstruktur.

PRAKTIKUM ALGORITMA & PEMROGRAMAN III MODUL_06 Stack (Tumpukan)

Pengenalan C++ Oleh : Dewi Sartika

KONSEP POINTER DAN LINKED LIST

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA LINKED LIST (BAGIAN 1)

LAPORAN RESMI. TIPE DATA ABSTRAK (TYPEDEF dan STRUCT)

LATIHAN SOAL (FUNGSI & PROSEDUR)

Praktikum Dasar Pemrograman 2014 MODUL 3: Array dan String

BAHASA PEMROGRAMAN C

Algoritma Pemrograman & Struktur Data

8.1 FUNGSI, DEKLARASI DAN DEFINISI NYA

1. Tipe Data Sederhana Hanya dimungkinkan untuk menyimpan sebuah nilai data dalam sebuah variabel Ada 5 macam : int, float, double, char, boolen

TUTORIAL DASAR C++ BELAJAR C++ DARI NOL. Nor Kandir. Lab B201 - Teknik Elektro ITS Surabaya

LANGKAH-LANGKAH MENULISKAN PROGRAM DALAM TURBO C++

int fungsi_2() { int main() { fungsi_1(); fungsi_2(); return 0;

ABSTRACT DATA TYPE (ADT) Dr. Taufik Fuadi Abidin, M.Tech Irvanizam Zamanhuri, M.Sc

Keg. Pembelajaran 2 : Mengenal Bahasa C++

ALGORITMA DAN STRUKTUR DATA


MI, KA-D3, SIA, SIB. ADI, S.Kom.

Baca Tulis File. Untuk dapat membaca atau menulis data dari/ke sebuah file maka langkah yang perlu dilakukan adalah:

Transkripsi:

P06 Pointer dan Fungsi Modul Praktikum FI2283 Pemrograman dan Simulasi Fisika Versi 2013.10.21 Catatan. Dalam praktikum ini akan dipelajari mengenai pointer, fungsi, dan membuat berkas pustaka sendiri (*.h). 1 Pointer #1 77 2 Pointer #2 78 3 Pointer #3 79 4 Pointer #4 80 5 Pointer #5 81 6 Fungsi #1 82 7 Fungsi #2 83 8 Fungsi #3 84 9 Fungsi #4 85 10 Fungsi #5 86 1 Pointer #1 pointer_1.cpp 77

*/ Learn about pointer 20131021.0225 int main(int argc, char **argv) { // Declare a pointer of int type; int *pint; // Show address of it cout << pint << endl; // Show value of it cout << *pint << endl; return 0; Tugas 1. Salin kode di atas dengan nama berkas pointer 1.cpp, kompilasi, dan jalankan. Jelaskan mengapa hasil tersebut diperoleh. Buka halaman web http://stackoverflow.com/questions/17873561/pointer-initialisation-gives -segmentation-fault untuk penjelasanan lebih lanjut. Laporkan dalam berkas laporan.txt. 2 Pointer #2 */ pointer_2.cpp Learn about pointer 20131021.0259 #include <stdlib.h> 78

int main(int argc, char **argv) { // Declare a pointer of int type pointing to nothing, // its size is zero, and it has no value int *pint = NULL; // Set size of pointer pint = (int*) malloc(sizeof(int)); // Set the value *pint = 1234; // Show address of it cout << pint << endl; // Show value of it cout << *pint << endl; // Free it from memory free(pint); return 0; Tugas 2. Salin kode di atas dengan nama berkas pointer 2.cpp, kompilasi, dan jalankan. Jelaskan mengapa hasil tersebut diperoleh. Modifikasi sehingga dapat menggunakan pointer dengan jenis variabel double, simpan dalam berkas pointer 2b.cpp. Laporkan perubahan yang diperlukan dari berkas pointer 2.cpp ke pointer 2b.cpp dalam berkas laporan.txt. 3 Pointer #3 */ pointer_3.cpp Learn about pointer 20131021.0300 79

#include <stdlib.h> int main(int argc, char **argv) { // Declare variabel of type int int i = 234; // Declare a pointer of type int int *pint = NULL; pint = (int*) malloc(sizeof(int)); *pint = 234; // Show the value cout << i << endl; cout << *pint << endl; // Show the address cout << &i << endl; cout << pint << endl; free(pint); return 0; Tugas 3. Salin kode di atas dengan nama berkas pointer 3.cpp, kompilasi, dan jalankan. Modifikasi program di atas sehingga dapat membandingkan nilai yang ditunjuk oleh dua buah pointer dan address dari dua buah pointer. Tampilkan hasilnya pada konsol. Jelaskan perintah yang digunakan dalam dalam berkas laporan.txt. 4 Pointer #4 */ pointer_4.cpp Learn about pointer 20131021.0308 80

#include <stdlib.h> int main(int argc, char **argv) { // Declare variabel of type int int i = 234; // Declare a pointer of type int int *pint = NULL; pint = (int*) malloc(sizeof(int)); pint = &i; // Show the value cout << i << endl; cout << *pint << endl; // Show the address cout << &i << endl; cout << pint << endl; // Change value of i i = 987; // Set it points to no non-pointer variabe // before frees it pint = NULL; free(pint); return 0; Tugas 4. Salin kode di atas dengan nama berkas pointer 4.cpp, kompilasi, dan jalankan. Modifikasi program di atas sehingga dapat menampilkan nilai dari i dan nilai yang ditunjukkan oleh pint. Tampilkan hasilnya pada konsol. Jelaskan perintah yang digunakan dalam dalam berkas laporan.txt. 5 Pointer #5 81

*/ pzointer_5.cpp Learn about pointer 20131021.0316 #include <stdlib.h> int main(int argc, char **argv) { int i = 234; int j = 987; int *p1 = &i; int *p2 = &j; *p1 = 10; *p2 = 20; *p2 = *p1; p2 = p1; *p2 = 399; cout << "i = " << i << endl; cout << "j = " << j << endl; return 0; Tugas 5. Salin kode di atas dengan nama berkas pointer 5.cpp, kompilasi, dan jalankan. Modifikasi program di atas sehingga dapat menampilkan nilai dari i dan j. Tampilkan hasilnya pada konsol. Jelaskan perintah yang digunakan dalam dalam berkas laporan.txt. 6 Fungsi #1 function_1.cpp 82

*/ Learn about function 20131021.0340 #include <stdlib.h> void inc(int); int main(int argc, char *argv[]) { int i = 0; cout << i << endl; cout << endl; inc(i); cout << i << endl; void inc(int i) { i++; Tugas 6. Salin kode di atas dengan nama berkas fungsi 1.cpp, kompilasi, dan jalankan. Jelaskan apa yang salah dari maksud program ini dalam laporan.txt. 7 Fungsi #2 */ function_1.cpp Learn about function 20131021.0340 #include <stdlib.h> 83

void inc(int); int main(int argc, char *argv[]) { int i = 0; cout << i << endl; cout << endl; inc(i); cout << i << endl; void inc(int i) { i++; Tugas 7. Salin kode di atas dengan nama berkas fungsi 2.cpp, kompilasi, dan jalankan. Jelaskan bagaimana modifikasi dapat mengoreksi permasalahan dalam contoh program sebelumnya, laporkan dalam laporan.txt. Buat program dengan nama berkas fungsi 2b.cpp agar dapat mengurangi satu setiap nilai integer yang dimasukkan. Berinama fungsinya dengan dec(). 8 Fungsi #3 */ function_3.cpp Learn about function 20131021.0350 #include <stdlib.h> void disp(int *); void disp(int *, int); 84

int main(int argc, char *argv[]) { int x[5] = {9, 3, 1, 7, 5; int N = sizeof(x) / sizeof(*x); void disp(int *z) { int N = sizeof(z) / sizeof(*z); for(int i = 0; i < N; i++) { cout << z[i]; if(i < N - 1) cout << " "; else cout << endl; void disp(int *z, int N) { for(int i = 0; i < N; i++) { cout << z[i]; if(i < N - 1) cout << " "; else cout << endl; Tugas 8. Salin kode di atas dengan nama berkas fungsi 3.cpp, kompilasi, dan jalankan. Modifikasi sehingga dapat menjalankan fungsi void disp(int *) dan void disp(int *, int). Jelaskan apa perbedaan kedua fungsi tersebut dalam laporan.txt. 9 Fungsi #4 function_4.cpp Learn about function and array template 20131021.0425 85

*/ Compile: g++ function_4.cpp -o function_4 -std=c++0x #include <array> const int N = 5; void disp(array<int, N>); int main(int argc, char *argv[]) { array<int, N> x = {9, 1, 5, 3, 8; disp(x); void disp(array<int, N> z) { int N = z.size(); for(int i = 0; i < N; i++) { cout << z[i]; if(i < N - 1) cout << " "; else cout << endl; Tugas 9. Salin kode di atas dengan nama berkas fungsi 4.cpp, kompilasi, dan jalankan. Jelaskan bagaimana program tersebut bekerj tersebut dalam laporan.txt. 10 Fungsi #5 Tugas 10. Perluas program fungsi 3.cpp sehingga dapat memiliki fungsi sort(int *, int) yang berfungsi untuk mengurutkan array. Simpan hasil tugas ini dengan nama fungsi 5.cpp dan laporkan cara kerjanya dalam laporan.txt. 86

Keluaran praktikum 1. pointer 1.cpp, pointer 2.cpp, pointer 2b.cpp, pointer 3.cpp, pointer 4.cpp, pointer 5.cpp, fungsi 1.cpp, fungsi 2.cpp, fungsi 2b.cpp, fungsi 3.cpp, fungsi 4.cpp, dan fungsi 5.cpp. 2. laporan.txt yang berisikan jawaban dari Tugas 1-10. This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License. 1 1 <dudung@gmail.com>,.., 2013 87

. 88