ARRAY & STRUKTUR. Contoh Deklarasi :

dokumen-dokumen yang mirip
PERTEMUAN VIII STRUKTUR LANJUT

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

PRAKTIKUM 14 STRUKTUR 2

PRAKTIKUM 14 STRUKTUR 2

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

Tujuan : date day month year

Struct 2 A. TUJUAN PEMBELAJARAN

Praktikum 11 (1/3) Struktur

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

Struct 1 A. TUJUAN PEMBELAJARAN

PRAKTIKUM 13 STRUKTUR 1

PRAKTIKUM 13 STRUKTUR 1

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

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

SASARAN. Setelah menyelesaikan bab ini, anda diharapkan dapat:

B. DASAR TEORI B.1 Array Suatu array berdimensi satu dideklarasikan dalam bentuk umum berupa : tipe_data nama_var[ukuran];

Praktikum 29 Struct1 2016

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

MODUL 6 RECORD/STRUCT/STRUKTUR

Algoritma dan Struktur Data. Pertemuan 5 Pointer

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

POINTER DASAR PEMROGRAMAN

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

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

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

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

Algoritme dan Pemrograman

Algoritme dan Pemrograman

MAKALAH POINTER PADA BAHASA C

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

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

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

STRING DASAR PEMROGRAMAN

Bahasa C Array. Slide diambil dari MK Dasar-Dasar Pemrograman Fasilkom UI Dimodifikasi dan disesuaikan dngn kebutuhan pengajaran di PTI-Undiksha

PRAKTIKUM 12 POINTER 2

STRUCTURE. Structure

KONSEP STRING. Nilai string selalu diakhiri dengan tanda NULL (\0)

ARRAY DIMENSI SATU Setiap elemen array dapat diakses melalui indeks. Indeks array secara default dimulai dari 0.

DIKTAT MATA KULIAH PEMROGRAMAN I BAB VII ARRAY

Algoritme dan Pemrograman

Pointer. Yuliana Setiowati

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

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

BAB VIII POINTER. Tujuan :

PRAKTIKUM 7 FUNGSI 1

Algoritma Pemrograman. Fery Updi,M.Kom

Fungsi DASAR PEMROGRAMAN

Fungsi DASAR PEMROGRAMAN

a[0] a[1] a[2] a[3] a[4] a[5] x

Array DASAR PEMROGRAMAN

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

BAB I. LARIK (ARRAY) Array (larik) ialah penampung sejumlah data sejenis (homogen) yang menggunakan satu identifier (pengenal).

PRAKTIKUM 12 POINTER 2

Algoritma dan Struktur Data. Pointer Pada Struct

Struct Lanjutan: Studi Kasus

Pertemuan 11. Tipe data Struktur (Struct) dan Union

Algoritme dan Pemrograman

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

BAB VII STRING Konstanta String Suatu konstanta string ditulis dengan diawali dan diakhiri tanda petik ganda, misalnya:

Konsep Pemrograman. Bab 10. String. Konsep Pemrograman Politeknik Elektronika Negeri Surabaya 2006 PENS-ITS. Umi Sa adah

Minggu ke-11 Fungsi (Function)

PRAKTIKUM 11 POINTER 1

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

Praktikum 21 String

BAB III PERINTAH INPUT OUTPUT

Algoritma Pemrograman 2B (Pemrograman C++)

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

Fungsi (Function) Pendahuluan. Objektif. Bahan Bacaan

ALGORITMA & PEMROGRAMAN II ARRAY

ARRAY. Karakteristik

Praktikum 5 PERULANGAN PROSES

Pemrograman Dasar C. Minggu 10

Fungsi 2 DASAR PEMROGRAMAN

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

Praktikum 4 PENGULANGAN PROSES

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

Fungsi, Parameter, Rekursi

Achmad Solichin.

Pengenalan Struktur Data. Farah Zakiyah Rahmanti 2014

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

Seluruh elemen di dalam struktur array mempunyai tipe data yang sama. Random Access

POINTER I. Oleh : Mike Yuliana PENS-ITS

Kelompok 10 Array. Nama :

Suatu konstanta string ditulis dengan diawali dan diakhiri tanda petik ganda, misalnya:

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

ALGORITMA DAN STRUKTUR DATA

POINTER II. Oleh : Mike Yuliana PENS-ITS

Algoritma dan Struktur Data. Ramos Somya

Fungsi Lanjut DASAR PEMROGRAMAN

Pertemuan 04. Pemrograman Dasar 2012

IT234 - Algoritma dan Struktur Data. Ramos Somya

MODUL 9 STRUCT (STRUKTUR)

Tipe Data, Variabel, Input/Output

Fungsi : Dasar Fungsi

BAB IV PENGULANGAN PROSES

Laporan Praktikum TMD02 Algoritma dan Struktur Data dengan C. Coding 1. NIM/ No. Reg. : : Mhd. Syarif : : Blog

IT234 - Algoritma dan Struktur Data. Ramos Somya

BAB V FUNGSI Tujuan : 5.1 Dasar Fungsi

Proses Perulangan (Looping) DASAR PROGRAMMING 1

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

Transkripsi:

STRUKTUR LANJUT

SASARAN Setelah menyelesaikan bab ini, anda diharapkan dapat: Struktur dan Fungsi Melewatkan Elemen Struktur ke dalam Fungsi Melewatkan Struktur ke dalam Fungsi Mengerti tentang penggunaan Struktur pada Pointer (pointer to struct)

ARRAY & STRUKTUR Elemen-elemen dari suatu array juga dapat berbentuk sebuah struktur Misalnya array yang dipakai untuk menyimpan sejumlah data siswa (struct student) akan membentuk tabel, dimana barisnya sbg elemen dari array dan kolomnya sbg elemen dari struktur. Contoh Deklarasi : #define MAKS 20 struct date /* definisi dari tipe date */ int month; int day; int year;; struct person /* definisi dari tipe person */ char name[30]; struct date birthday;; /* deklarasi dari variabel array student */ struct person student [MAKS]; Artinya : mendeklarasikan array student yang memiliki elemen yang bertipe struct person sebanyak MAKS.

ARRAY & STRUKTUR Cont. Gambar Array dari Struktur Cara input data : for (i=0; i<maks; i++) printf("name : "); fgets(student[i].name, sizeof student[i].name, stdin); printf("birthday (mm-dd-yyyy): "); scanf("%d-%d-%d", &student[i].birthday.month, &student[i].birthday.day, &student[i].birthday.year); printf("\n"); /* hapus sisa data dalam penampung keyboard */ fflush(stdin); ; Cara output data : printf("data SISWA\n"); for (i=0; i<jml; i++) printf("%d. Name ; : %s\n", i+1, student[i].name); printf(" Birthday : %d-%d-%d\n\n", student[i].birthday.month, student[i].birthday.day, student[i].birthday.year );

PENDEKLARASIAN STRUKTUR Cara lain dalam pendeklarasian struktur struct date int month, day, year; today, tomorrow; struct person char name[30]; struct date birthday; student[maks]; struct date int month, day, year; today = 5,14,2001;

STRUKTUR & FUNGSI A. Melewatkan Elemen Struktur ke dalam Fungsi Dapat dilakukan baik secara nilai (pass by value) maupun secara acuan (pass by reference). #include <stdio.h> void cetak_tanggal(int mm, int dd, int yy); main() struct date int month; int day; int 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) static char *nama_bulan[] = Pass by value Enter the current date (mm-dd-yyyy): 5-29-2001 Todays date is May 29, 2001 "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);

STRUKTUR & FUNGSI Cont.1 #include <stdio.h> Pass by reference void tukar_xy(int *a, int *b); main() operator alamat ditempatkan di depan nama variabel struktur (bukan struct koordinat di depan nama elemen struktur). int x; int 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; Masukkan koordinat posisi (x, y) : 34, 21 x, y semula = 34, 21 x, y sekarang = 21, 34

STRUKTUR & FUNGSI Cont.2 B. Melewatkan Struktur ke dalam Fungsi Parameter fungsi diubah menjadi bentuk struktur. #include <stdio.h> struct date /* definisi global dari tipe date */ int month; int day; int year; Enter the current date (mm-dd-yyyy): 5-29-2001 Todays date is May 29, 2001 ; void cetak_tanggal(struct date now); 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) 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);

Struktur dan Pointer (Pointer ke Struktur) Jika sebuah struktur mengandung banyak field dan diputuskan bahwa keseluruhan field-nya akan diubah oleh fungsi, maka cara yang efisien adalah dengan melewatkan (passing) alamat dari struktur. Pada pendefinisian fungsi, parameter formalnya berupa pointer yang menunjuk ke struktur. Untuk contoh, lihat kembali contoh struktur dan fungsi : void tukar_xy(struct koordinat *pos_xy) int z; 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.

Struktur dan Pointer Cont. 1 Penulisan : (*pos_xy).x menyatakan : elemen bernama x yang ditunjuk oleh pointer pos_xy Tanda kurung di (*pos_xy).xy harus ada sebab : (*pos_xy.xy) = *pos_xy.xy Ungkapan *pos_xy.x mempunyai makna yaitu : "yang ditunjuk oleh pos_xy.x " (sebab operator titik mempunyai prioritas yang lebih tinggi daripada operator *).

Struktur dan Pointer Cont. 2 Bentuk semacam : (*pos_xy).x dapat ditulis dengan bentuk lain menjadi pos_xy->x Sehingga untuk program tukar_xy dapat ditulis ulang sbb : void tukar_xy(struct koordinat *pos_xy) int z; z = pos_xy->x; pos_xy->x = pos_xy->y; pos_xy->y = z;

CONTOH PROGRAM #include <stdio.h> struct koordinat Masukkan koordinat posisi (x, y) : 34, 21 int x; x, y semula = 34, 21 int y; x, y sekarang = 21, 34 ; void tukar_xy(struct koordinat *pos_xy); 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;