PERTEMUAN VIII STRUKTUR LANJUT JURUSAN TELEKOMUNIKASI POLITEKNIK ELEKTRONIKA NEGERI SURABAYA Oleh : Muh. Zen S. Hadi, ST.

Slides:



Advertisements
Presentasi serupa
ARRAY.
Advertisements

ARRAY 1 DIMENSI Array 1 dimensi
Input/Output.
Jawaban PR-01 Dr. Anto Satriyo Nugroho, M.Eng Web:
ARRAY ??.
STRUKTUR Konsep Pemrograman.
PERTEMUAN II ARRAY JURUSAN TELEKOMUNIKASI
Pointer. Output? #include int x = 2; void misteri(int a, int b) { a = 2*x; b = y; y = a; } main() { int y; x = 5; y = 7; misteri(x, y); printf("%d %d\n",
Jurusan Teknik Informatika Universitas Ahmad Dahlan 2004
ALGORITMA DAN STRUKTUR DATA
Tipe Data Bentukan Pertemuan ke-5.
Abstract data type (Structure, Union, Enumeration)
Struktur Sugeng Supriyadi, M.Kom.
PERTEMUAN XI OPERASI FILE JURUSAN TELEKOMUNIKASI POLITEKNIK ELEKTRONIKA NEGERI SURABAYA Oleh : Muh. Zen S. Hadi, ST.
Fungsi (lanjutan) Pertemuan ke-9 Bahasa C.
ARRAY (Lanjutan).
Teknik Informatika Universitas Pembangunan Jaya
Algoritma dan Pemrograman
ARRAY/LARIK Sumber dari : imaru.files.wordpress.com/2008/02/array-struc-pointer.ppt.
3 Variabel, Konstanta Tipe Data dan dalam Bahasa C/C++ Java dan Bab
ARRAY Dr. Lily Wulandari.
Teknik Pemrograman Terstruktur 2
BAHASA PEMROGRAMAN C LANGUAGE JURUSAN TELEKOMUNIKASI
PERTEMUAN VI POINTER LANJUT
PERTEMUAN X DATA TINGKAT LANJUT - 2 JURUSAN TELEKOMUNIKASI POLITEKNIK ELEKTRONIKA NEGERI SURABAYA Oleh : Muh. Zen S. Hadi, ST.
ARRAY 2 Dimensi.
ARRAY.
PERTEMUAN VI STRUKTUR Definisi struktur
Algoritma dan Struktur Data
Struktur data selain array : Structure, Union, Enumeration
ARRAY OF STRUCT Apabila hendak menggunakan 1 struct untuk beberapa kali, ada 2 cara : Deklarasi manual #include typedef struct Mahasiswa { char.
Array dan String Array dan String.
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA
PERTEMUAN IV STRING JURUSAN TELEKOMUNIKASI
PERTEMUAN IX DATA TINGKAT LANJUT JURUSAN TELEKOMUNIKASI POLITEKNIK ELEKTRONIKA NEGERI SURABAYA Oleh : Muh. Zen S. Hadi, ST.
STRUKTUR DATA (1).
Algoritma & Struktur Data Abstract Data Type Evangs Mailoa.
Algoritma dan Struktur Data
PART 7 Array DOSEN : AHMAD APANDI, ST.
STRUKTUR DATA Structure.
PERTEMUAN III ARRAY BAG II JURUSAN TELEKOMUNIKASI
SEMESTER GANJIL 2009/2010.
Operasi String Teknik Informatika Universitas Muhammadiyah Malang 2012 Pemrogramman Terstruktur.
Dasar Pemrograman Operasi String.
STRUCT OF ARRAY Apabila hendak menggunakan 1 struct untuk beberapa kali, ada 2 cara : Deklarasi manual #include typedef struct Mahasiswa { char.
STRUKTUR Struktur merupakan kumpulan elemen data yang digabungkan menjadi satu kesatuan data. Masing-masing elemen data tersebut dinamakan field atau elemen.
Bab 05 Tipe Data dan Mengisi Variabel
STRUKTUR Struktur merupakan kumpulan elemen data yang digabungkan menjadi satu kesatuan data. Masing-masing elemen data tersebut dinamakan field atau elemen.
Teknik Pemrog. Terstruktur 2
Tipe Data Terstruktur Pengantar Logika dan Teknik Pemrograman
1 Latihan Pertemuan String Matakuliah: T0616 / Algoritma dan Pemrograman Tahun: 2007 Versi: 1/0.
Fungsi, Array dan String
Umi Sa’adah Konsep Pemrograman PENS-ITS Bab 14. Struktur 1 Konsep Pemrograman Politeknik Elektronika Negeri Surabaya 2006.
STRUKTUR.
PEMROGRAMAN DASAR.
Materi-8 STRUCTURE (RECORD).
Algoritma & Pemrograman II
ARRAY (Array Dua Dimensi) Pertemuan 16 Dasar Pemrograman
S T R U K T U R.
Array.
ARRAY (LARIK).
TEL 2112 Dasar Komputer & Pemograman Larik (Array)
ALGORITMA & STRUKTUR DATA I
ARRAY.
Prepared by Yohana Nugraheni
Array.
Prepared by Yohana Nugraheni
Tipe Data Bentukan Pertemuan ke-5.
Array.
ARRAY.
Transcript presentasi:

PERTEMUAN VIII STRUKTUR LANJUT JURUSAN TELEKOMUNIKASI POLITEKNIK ELEKTRONIKA NEGERI SURABAYA Oleh : Muh. Zen S. Hadi, ST

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 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 input 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 ); }; Cara output data :

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 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[] = { "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); } Pass by value Enter the current date (mm-dd-yyyy): Todays date is May 29, 2001

STRUKTUR & FUNGSI – Cont.1 #include void tukar_xy(int *a, int *b); main() { struct koordinat { 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; } Pass by reference operator alamat ditempatkan di depan nama variabel struktur (bukan di depan nama elemen struktur). 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 struct date {/* definisi global dari tipe date */ int month; int day; int year; }; 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); } Enter the current date (mm-dd-yyyy): Todays date is May 29, 2001

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.

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. 1

Bentuk semacam : (*pos_xy).x dapat ditulis dengan bentuk lain menjadi pos_xy->x Sehingga untuk program tukar_xy dapat ditulis ulang sbb : Struktur dan Pointer – Cont. 2 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 struct koordinat { int x; int y; }; 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; } Masukkan koordinat posisi (x, y) : 34, 21 x, y semula = 34, 21 x, y sekarang = 21, 34

LATIHAN 1. Definisikan sebuah struktur (misalkan namanya = data_toko) yang memiliki 3 buah field berupa : sebuah array karakter dengan 5 elemen (misalkan namanya = nama), sebuah integer (misalkan namanya = data), dan sebuah float (misalkan namanya = harga). Inputkan data & tampilkan hasilnya ! 2. Buat program untuk menghitung luas persegi panjang, dengan variabel-variabelnya didefinisikan dalam sebuah struktur (ada 3 field yaitu int panjang; int lebar & int luas). 3. Buatkan definisi struktrur dan programnya dari diagram struktur data berikut ini :