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

dokumen-dokumen yang mirip
PRAKTIKUM 14 STRUKTUR 2

PRAKTIKUM 14 STRUKTUR 2

ARRAY & STRUKTUR. Contoh Deklarasi :

PERTEMUAN VIII STRUKTUR LANJUT

Struct 2 A. TUJUAN PEMBELAJARAN

Tujuan : date day month year

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

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

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

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

MODUL 6 RECORD/STRUCT/STRUKTUR

Algoritma dan Struktur Data. Pertemuan 5 Pointer

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.

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

SASARAN. Setelah menyelesaikan bab ini, anda diharapkan dapat:

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

Praktikum 29 Struct1 2016

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

PRAKTIKUM 7 FUNGSI 1

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

Fungsi 2 DASAR PEMROGRAMAN

Fungsi, Parameter, Rekursi

Fungsi DASAR PEMROGRAMAN

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

MAKALAH POINTER PADA BAHASA C

PRAKTIKUM 13 STRUKTUR 1

PRAKTIKUM 12 POINTER 2

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

POINTER DASAR PEMROGRAMAN

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

Fungsi DASAR PEMROGRAMAN

Fungsi (Function) Pendahuluan. Objektif. Bahan Bacaan

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

MODUL 9 STRUCT (STRUKTUR)

Algoritma dan Struktur Data. Pointer Pada Struct

Minggu ke-11 Fungsi (Function)

Algoritme dan Pemrograman

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

Pemrograman Dasar C. Minggu 10

PRAKTIKUM 13 STRUKTUR 1

POINTER II. Oleh : Mike Yuliana PENS-ITS

Algoritma Pemrograman. Fery Updi,M.Kom

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

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

BAB V FUNGSI Tujuan : 5.1 Dasar Fungsi

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

BAB VIII POINTER. Tujuan :

Struct dan Fungsi. Pendahuluan. Objektif. Bahan Bacaan

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

BAB I RENCANA PELAKSANAAN PEMBELAJARAN ( RPP ) : Berbicara:

Fungsi : Dasar Fungsi

Minggu ke-14 Typedef, Struct & Command Line Argument

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

PRAKTIKUM 12 POINTER 2

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

STRUCTURE. Structure

Kurikulum Qt. { Basic OOP } Chapter 4. Function

Algoritma Pemrograman 2B (Pemrograman C++)

Bab 3. Decision 1 (Pengambilan Keputusan)

printf (" ======== Program untuk memilih nama bulan dalam setahun ======== \n \n");

PRAKTIKUM 11 POINTER 1

DIKTAT MATA KULIAH PEMROGRAMAN I BAB XI POINTER

ALGORITMA DAN STRUKTUR DATA

Bab 8. Dasar-Dasar OOP

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

Pemrograman Dasar C. Minggu 9

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

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

Praktikum 11 (1/3) Struktur

Pertemuan 11. Tipe data Struktur (Struct) dan Union

Pointer. Yuliana Setiowati

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

Tipe Data Dasar. Berdasarkan jenisnya, data dapat dibagi menjadi lima kelompok dinamakan tipe data dasar, yaitu:

Pertemuan 04. Pemrograman Dasar 2012

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

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

MENGAKSES ELEMEN STRUKTUR

Kurikulum Qt. Chapter 4 Function. Fungsi

Dasar-dasar Pemrograman C DASAR PEMROGRAMAN & ALGORITMA

ARRAY & POINTER. Listing 8.1. EXPENSES.C demonstrates the use of an array. AP3: Array & Pointer

Algoritme dan Pemrograman

12/29/2011 ILKOM IPB 1. Algoritme dan Pemrograman. Address and Pointers. Pointer

ALGORITMA (2) Mengupas Kentang

Gambar 1. Tampilan Layar Sebuah Program Animasi

Tipe Data, Variabel, Input/Output

Data bisa dinyatakan dalam bentuk konstanta atau variabel.

ALGORITMA DAN STRUKTUR DATA POINTER DAN FUNCTION

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

DISUSUN OLEH BAB IX. Structt. //untuk. long. int nip; char. nama[31]; char } HAL 1

Bulan Januari-Februari yang mencapai 80 persen. Tekanan udara rata-rata di kisaran angka 1010,0 Mbs hingga 1013,5 Mbs. Temperatur udara dari pantauan

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

Fungsi Lanjut DASAR PEMROGRAMAN

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

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

Pengenalan Struktur Data. Farah Zakiyah Rahmanti 2014

BAB IV ANALISIS HASIL DAN PEMBAHASAN. 4.1 Strategi Promosi Penjualan dengan Sistem Cara Bayar yang dilakukan

BAB 6 FUNGSI TUJUAN PRAKTIKUM

Fungsi 1 DASAR PEMROGRAMAN

1 MODUL 8 POINTER MODUL 8 POINTER

Transkripsi:

Bab 15. Struktur 2 Konsep Pemrograman Politeknik Elektronika Negeri Surabaya 2006

Overview Struktur dan Fungsi Melewatkan Elemen Struktur ke dalam Fungsi Melewatkan Struktur ke dalam Fungsi Melewatkan Elemen Struktur ke dalam Fungsi Pass by value Pass by reference Melewatkan Struktur ke dalam Fungsi Pass by value Pass by reference (pointer to struct)

Struktur dan Fungsi Melewatkan sebuah struktur untuk menjadi parameter dalam 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 : Pengiriman nilai (pass by value) Pengiriman acuan/address (pass by reference).

Melewatkan Elemen Struktur dalam Fungsi: pass by value (cetak1.c) #include <stdio.h> void cetak_tanggal(int, int, int); main() { struct date { int month, day, year; today; printf("enter the current date (mm-dd-yyyy): "); scanf("%d-%d-%d", &today.month, &today.day, &today.year); cetak_tanggal(today.month, today.day, today.year); void cetak_tanggal(int mm, int dd, int yy){ 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[mm],dd,yy);

Melewatkan Elemen Struktur ke dalam Fungsi 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).

Melewatkan Elemen Struktur ke dalam Fungsi: pass by reference (posisi1.c) #include <stdio.h> void tukar_xy(int *, int *); main() { struct koordinat { int x, y; 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.x, &posisi.y); printf("x, y sekarang = %d, %d\n", posisi.x, posisi.y); void tukar_xy(int *a, int *b) { int z; z = *a; *a = *b; *b = z;

Melewatkan Struktur ke dalam Fungsi Konsep Pemrograman Pada program cetak1.c 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 (semua elemen dikirim sebagai parameter), lebih baik kalau parameter fungsi diubah menjadi bentuk struktur, sehingga parameter fungsi tidak lagi sebanyak tiga buah, melainkan hanya satu yaitu variabel strukturnya

Melewatkan Struktur ke dalam Fungsi : pass by value (cetak2.c) #include <stdio.h> struct date { int month, day, year; ; void cetak_tanggal(struct date); main() { struct date today; printf("enter the current date (mm-dd-yyyy): "); scanf("%d-%d-%d", &today.month, &today.day, &today.year); cetak_tanggal(today); void cetak_tanggal(struct date now){ 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);

Melewatkan Struktur ke dalam Fungsi: pass by reference pointer to struct Jika sebuah struktur mengandung banyak field dan diputuskan bahwa keseluruhan field-nya akan diubah oleh fungsi, maka cara yang efisien adalah dengan melewatkan alamat dari struktur (pass by reference). Dengan demikian pada pendefinisian fungsi, parameter formalnya berupa pointer yang menunjuk ke struktur (pointer to struct).

Melewatkan Struktur ke dalam Fungsi : pass by reference (posisi2.c) #include <stdio.h> struct koordinat { int x, y; ; void tukar_xy(struct koordinat *); main() { 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); void tukar_xy(struct koordinat *pos_xy) { int z; z = (*pos_xy).x; (*pos_xy).x = (*pos_xy).y; (*pos_xy).y = z;

Melewatkan Struktur ke dalam Fungsi : pass by reference Parameter dari fungsi tukar_xy() disederhanakan menjadi satu parameter saja, yakni sebagai berikut : void tukar_xy(struct koordinat *pos_xy) { Pada definisi fungsi di atas, struct koordinat *pos_xy menyatakan bahwa pos_xy adalah pointer yang menunjuk ke obyek bertipe struct koordinat. Adapun penulisan : (*pos_xy).x menyatakan : elemen/field 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 *).

Melewatkan Struktur ke dalam Fungsi : pass by reference 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) { int z; z = pos_xy->x; pos_xy->x = pos_xy->y; pos_xy->y = z;