PRAKTIKUM 14 STRUKTUR 2

dokumen-dokumen yang mirip
PRAKTIKUM 14 STRUKTUR 2

Konsep Pemrograman. Bab 15. Struktur 2. Konsep Pemrograman Politeknik Elektronika Negeri Surabaya 2006 PENS-ITS. Umi Sa adah

Struct 2 A. TUJUAN PEMBELAJARAN

ARRAY & STRUKTUR. Contoh Deklarasi :

PERTEMUAN VIII STRUKTUR LANJUT

Tujuan : date day month year

void tukar_xy(struct koordinat *pos_xy){ int z; z = (*pos_xy).x; (*pos_xy).x = (*pos_xy).y; (*pos_xy).y = z;

LATIHAN DAN KISI-KISI SOAL JURUSAN TELEKOMUNIKASI POLITEKNIK ELEKTRONIKA NEGERI SURABAYA

Konsep Pemrograman. Bab 13. Pointer 3. Konsep Pemrograman Politeknik Elektronika Negeri Surabaya 2006 PENS-ITS. Umi Sa adah

MODUL 6 RECORD/STRUCT/STRUKTUR

Konsep Pemrograman. Bab 14. Struktur 1. Konsep Pemrograman Politeknik Elektronika Negeri Surabaya 2006 PENS-ITS. Umi Sa adah

PRAKTIKUM 7 FUNGSI 1

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

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

void naikkan_nilai (int *x, int *y) { *x = *x + 2; *y = *y + 2; }

PRAKTIKUM 12 POINTER 2

Algoritma dan Struktur Data. Pertemuan 5 Pointer

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

PRAKTIKUM 11 POINTER 1

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

A. TUJUAN 1. Menjelaskan tentang prinsip dasar fungsi. 2. Menjelaskan tentang.parameter formal dan parameter aktual

PRAKTIKUM 13 STRUKTUR 1

SASARAN. Setelah menyelesaikan bab ini, anda diharapkan dapat:

Praktikum 11 (1/3) Struktur

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

PRAKTIKUM 13 STRUKTUR 1

Praktikum 1. Suatu array berdimensi satu dideklarasikan dalam bentuk umum berupa : tipe_data nama_var[ukuran];

12/29/2011. Algoritme dan Pemrograman. Bit. Bitwise operator

BAB VIII POINTER. Tujuan :

Fungsi : Dasar Fungsi

MAKALAH POINTER PADA BAHASA C

PRAKTIKUM 12 POINTER 2

POINTER DASAR PEMROGRAMAN

Struct 1 A. TUJUAN PEMBELAJARAN

Algoritme dan Pemrograman

ALGORITMA DAN STRUKTUR DATA POINTER DAN FUNCTION

BAB V FUNGSI Tujuan : 5.1 Dasar Fungsi

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

Algoritma dan Struktur Data. Pointer Pada Struct

Fungsi, Parameter, Rekursi

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

Struct dan Fungsi. Pendahuluan. Objektif. Bahan Bacaan

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

POINTER II. Oleh : Mike Yuliana PENS-ITS

1 MODUL 8 POINTER MODUL 8 POINTER

PRAKTIKUM 10 STRING A B C D E \0. Gambar 11.1 Komposisi penyimpanan string dalam memori

A. TUJUAN PEMBELAJARAN

FUNGSI & PROSEDUR. Pertemuan ke-12 dan 13

Fungsi DASAR PEMROGRAMAN

Algoritma Pemrograman 2B (Pemrograman C++)

Fungsi DASAR PEMROGRAMAN

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

Algoritma Pemrograman. Fery Updi,M.Kom

MODUL 9 STRUCT (STRUKTUR)

Minggu ke-14 Typedef, Struct & Command Line Argument

Tipe Data dan Variabel

Kurikulum Qt. { Basic OOP } Chapter 4. Function

main() { int y, x = 87; /* x & y bertipe int */ int *px; /* var pointer yg menunjuk ke data yang bertipe int */

Tipe Data, Variabel, Input/Output

A. TUJUAN 1. Menjelaskan tentang konsep dari variabel pointer. zzzz. Address. Gambar 8.1 Variabel pointer px menunjuk ke variabel x

PRAKTIKUM 11 POINTER 1

Praktikum 29 Struct1 2016

POINTER. Pemrograman Bahasa C++

Fungsi (Function) Pendahuluan. Objektif. Bahan Bacaan

KONSEP DASAR. menyusunnya menjadi potongan-potongan mudah untuk ditangani dibanding. conquer.

STRUCTURE. Structure

Kurikulum Qt. Chapter 4 Function. Fungsi

MODUL PRAKTIKUM BAHASA PEMROGRAMAN TESTRUKTUR MODUL 8 POINTER

Praktikum 3 DASAR-DASAR PEMROGRAMAN C

FUNGSI II. Variabel Statis. Sifat variabel statis: Sintaks: static tipe_data nama_variabel; Contoh: static int angka;

Pemrograman Dasar C. Minggu 10

PENGENALAN BAHASA C. A. Struktur Kode Program dalam Bahasa C Secara garis besar, suatu kode program dalam bahasa C memiliki struktur umum seperti ini:

Minggu ke-11 Fungsi (Function)

ALGORITMA DAN STRUKTUR DATA

MENGAKSES ELEMEN STRUKTUR

1. Mempelajari konsep dasar array, array ganda, pengiriman array ke fungsi dan string 2. Membuat program menggunakan array, array ganda

Pertemuan 11. Tipe data Struktur (Struct) dan Union

Bahasa C melengkapi fasilitas modular dengan menggunakan fungsi pada setiap SubProgram. Contoh pembagian program menjadi beberapa subprogram.

BAB 6 FUNGSI TUJUAN PRAKTIKUM

/* File program : tukar1.c Untuk melihat pengaruh pemanggilan nilai pada fungsi untuk penukaran dua data */

Pointer. Yuliana Setiowati

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

FUNCTION (FUNGSI) LOGO. Pendidikan Teknik Elektronika FT UNY. Muh. Izzuddin Mahali, M.Cs.

xxxx alamat Praktikum 11 POINTER

A B C D E \0. Gambar Komposisi penyimpanan string dalam memori

VI. FUNGSI. Fungsi Main ( ) Fungsi a ( ) Fungsi b ( ) Fungsi c ( ) Fungsi c1 ( ) Fungsi c2 ( ) Fungsi c3 ( ) Bentuk umumnya :

Tipe Data Dasar. Data bisa dinyatakan dalam bentuk konstanta atau variabel.

Array LOGO. Pendidikan Teknik Elektronika FT UNY. Muh. Izzuddin Mahali, M.Cs.

PRAKTIKUM 5 PENGULANGAN PROSES 1

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

Function nama dipisahkan

PENGENALAN BAHASA C. Praktikum 3

Pengenalan Struktur Data. Farah Zakiyah Rahmanti 2014

Konsep Pemrograman. Bab 7. Fungsi1. Konsep Pemrograman Politeknik Elektronika Negeri Surabaya 2006 PENS-ITS. Umi Sa adah

Struct Lanjutan: Studi Kasus

Fungsi 2 DASAR PEMROGRAMAN

BAB XI MENGGUNAKAN FUNGSI DALAM EXCEL

Konsep Pemrograman. Bab 8. Fungsi 2. Konsep Pemrograman Politeknik Elektronika Negeri Surabaya 2006 PENS-ITS. Umi Sa adah

DIKTAT MATA KULIAH PEMROGRAMAN I BAB XI POINTER

12/29/2011 ILKOM IPB 1. Algoritme dan Pemrograman. Review Latihan Slide 10. Review Latihan Slide 10

Transkripsi:

PRAKTIKUM 14 STRUKTUR 2 A. Tujuan 1. Struktur dan Fungsi 2. Melewatkan Elemen Struktur ke dalam Fungsi 3. Melewatkan Struktur ke dalam Fungsi 4. Mengerti tentang penggunaan Struktur pada Pointer (pointer to struct) B. DASAR TEORI Struktur dan Fungsi Melewatkan sebuah struktur untuk menjadi parameter sebuah fungsi dapat dilakukan sama dengan pengiriman parameter berupa variabel biasa. Fungsi yang mendapat kiriman parameter tersebut juga bisa mengirimkan hasil baliknya yang juga berupa sebuah struktur (pass by reference). Melewatkan Elemen Struktur ke dalam Fungsi Melewatkan parameter berupa elemen struktur dapat dilakukan sebagaimana pengiriman parameter berupa variabel biasa, dapat dilakukan baik secara nilai (pass by value) maupun secara acuan (pass by reference). struct date int month; int day; int year; today; cetak_tanggal(today.month, today.day, today.year); void cetak_tanggal(int mm, int dd, int yy) static char *nama_bulan[] = "Wrong month", "January", "February", "March", Praktikum Dasar Programming 1 121

; "April", "May", "June", "July", "August", "September", "October", "November", "December" printf("todays date is %s %d, %d\n", nama_bulan[mm],dd,yy); Tampak bahwa elemen dari struktur dilewatkan ke fungsi memakai bentuk pengaksesan elemen struktur, berupa : cetak_tanggal(today.month, today.day, today.year); Apabila nilai suatu elemen struktur diharapkan akan diubah oleh fungsi, maka yang dilewatkan haruslah berupa alamat dari elemen struktur (pass by reference). Untuk keperluan ini, operator alamat ditempatkan di depan nama variabel struktur (bukan di depan nama elemen struktur). struct koordinat int x; int y; posisi; tukar_xy(&posisi.x, &posisi.y); void tukar_xy(int *a, int *b) z = *a; *a = *b; *b = z; Melewatkan Struktur ke dalam Fungsi Pada program di atas misalnya, semua elemen dari struktur dikirimkan ke fungsi cetak_tanggal(), dengan maksud nilai elemen dari struktur akan ditampilkan di layar. Untuk keadaan seperti ini, lebih baik kalau parameter fungsi diubah menjadi bentuk struktur, sehingga parameter fungsi tidak lagi sebanyak tiga buah, melainkan hanya satu. Selengkapnya, perhatikan program di bawah ini. Praktikum Dasar Programming 1 122

struct date int month; int day; int year; ; void cetak_tanggal(struct date); struct date today; cetak_tanggal(today); void cetak_tanggal(struct date now) static char *nama_bulan[] = "Wrong month", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ; printf("todays date is %s %d, %d\n\n", nama_bulan[now.month], now.day, now.year); Jika sebuah struktur mengandung banyak field dan diputuskan bahwa keseluruhan fieldnya akan diubah oleh fungsi, maka cara yang efisien adalah dengan melewatkan (passing) alamat dari struktur. Dengan demikian pada pendefinisian fungsi, parameter formalnya berupa pointer yang menunjuk ke struktur. Masalah pointer ke struktur dapat diterapkan dalam program sebelumnya. Argumen dari fungsi tukar_xy() dapat disederhanakan menjadi satu argumen saja, yakni sebagai berikut : void tukar_xy(struct koordinat *pos_xy) Praktikum Dasar Programming 1 123

z = (*pos_xy).x; (*pos_xy).x = (*pos_xy).y; (*pos_xy).y = z; Pada definisi fungsi di atas, struct koordinat *pos_xy menyatakan bahwa pos_xy adalah pointer yang menunjuk ke obyek bertipe struktur koordinat. Adapun penulisan : (*pos_xy).x menyatakan : elemen bernama x yang ditunjuk oleh pointer pos_xy Perlu diperhatikan bahwa penulisan tanda kurung seperti pada contoh (*pos_xy).x merupakan suatu keharusan. Sebab *pos_xy.x mempunyai makna yang berbeda dengan (*pos_xy).x Ungkapan *pos_xy.x mempunyai makna yaitu : "yang ditunjuk oleh pos_xy.x " (sebab operator titik mempunyai prioritas yang lebih tinggi daripada operator *). #include <stdio.h> struct koordinat int x; int y; ; void tukar_xy(struct koordinat *); struct koordinat posisi; printf("masukkan koordinat posisi (x, y) : "); scanf("%d, %d", &posisi.x, &posisi.y); printf("x, y semula = %d, %d\n", posisi.x,posisi.y); tukar_xy(&posisi); printf("x,y sekarang= %d, %d\n", posisi.x,posisi.y); Praktikum Dasar Programming 1 124

void tukar_xy(struct koordinat *pos_xy) z = (*pos_xy).x; (*pos_xy).x = (*pos_xy).y; (*pos_xy).y = z; Contoh eksekusi : Masukkan koordinat posisi (x, y) : 34, 21 x, y semula = 34, 21 x, y sekarang = 21, 34 Bentuk semacam : (*pos_xy).x dapat ditulis dengan bentuk lain menjadi pos_xy->x Dalam C operator -> (berupa tanda minus - diikuti dengan tanda lebih dari >) disebut sebagai operator panah. Dengan menggunakan operator panah, maka fungsi tukar_xy() dalam program posisi2.c dapat ditulis menjadi void tukar_xy(struct koordinat *pos_xy) z = pos_xy->x; pos_xy->x = pos_xy->y; pos_xy->y = z; C. TUGAS PENDAHULUAN 1. Buatlah program sebagai berikut dengan menggunakan array dari struktur: Input: Nama barang Jumlah Praktikum Dasar Programming 1 125

Harga Satuan sebanyak n barang dapat di tentukan oleh user 2. Dengan menggunakan fungsi dan pointer buatlah fasilitas untuk menampilkan Nama Barang yang diinputkan, jika tidak ada maka tampilkan pesan! D. PERCOBAAN 1. Buatlah program sebagai berikut dengan menggunakan struktur array : Input: Nama Mhs Nilai Tugas Nilai UTS Nilai UAS sebanyak n mahasiswa Output: Nama Mhs, Nilai Akhir, Nilai Huruf, Keterangan Lulus yang ditampilkan secara mendatar dimana Nilai Akhir= 20% tugas + 40% UTS + 40%UAS Nilai huruf dan Keterangan Lulus (tanyakan Asisten) 2. Dengan menggunakan fungsi buatlah fasilitas untuk menampilkan Nilai- nilai dari mahasiswa yang diinputkan, jika tidak ada maka tampilkan pesan! 3. Dengan menggunakan fungsi buatlah fasilitas untuk menampilkan data mahasiswa yang mempunyai nilai UAS tertinggi! 4. Dengan menggunakan fungsi buatlah fasilitas untuk menampilkan data mahasiswa yang mempunyai nilai Akhir tertinggi (dengan rumus 20% tugas + 40%UTS + 40 %UAS) Praktikum Dasar Programming 1 126

E. LAPORAN RESMI Dengan melihat soal pada tugas pendahuluan, kerjakan soal-soal dibawah ini: 1. Dengan menggunakan fungsi dan pointer buatlah fasilitas untuk menampilkan data yang memiliki nilai jumlah terbesar! 2. Dengan menggunakan fungsi dan pointer buatlah fasilitas untuk menampilkan barang dengan nilai rupiah tertinggi 3. Dengan menggunakan fungsi dan pointer serta melewatkan struktur pada fungsi, urutkan array dari fungsi tersebut berdasarkan Nilai jual! Praktikum Dasar Programming 1 127