PRAKTIKUM STRUCT. Struct 1. Politeknik Elektronika Negeri Surabaya. Percobaan 1 #include <stdio.h> #define N 4. Output:

dokumen-dokumen yang mirip
STRUCTURE. Structure

Algoritma dan Struktur Data. Pertemuan 5 Pointer

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

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

POINTER. Tim Alpro Teknik Informatika

Algoritma dan Struktur Data. Ramos Somya

Bab 10 Fungsi & Prosedur

Pengenalan Struktur Data. Farah Zakiyah Rahmanti 2014

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

KONSEP POINTER DAN LINKED LIST

Pertemuan 4 ELEMEN-ELEMEN BAHASA PEMROGRAMAN

01. Review Array, Pointer dan Struktur

STRUKTUR DATA POKOK BAHASAN - 7 STACK ( TUMPUKAN )

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

Algoritme dan Pemrograman

SINGLE LINKED LIST (NON CIRCULAR)

Algoritma dan Struktur Data. Pointer Pada Struct

Minggu ke-11 Fungsi (Function)

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

POINTER. Tim Alpro Teknik Informatika

Fungsi (Function) Pendahuluan. Objektif. Bahan Bacaan

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

A. TUJUAN PEMBELAJARAN

STACK atau TUMPUKAN. Pertemuan 5 STACK (TUMPUKAN)

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

Data Structures. Class 5 Pointer. Copyright 2006 by The McGraw-Hill Companies, Inc. All rights reserved.

Program Menggabungkan 2 Tipe String

Pertemuan 6. Pemrograman Modular

Struct Lanjutan: Studi Kasus

STACK (TUMPUKAN) Tumpukan uang koin Tumpukan kotak Tumpukan Buku. Gambar 1. Macam-macam tumpukan

Contoh function 1 : Output : // function example The result is 8 #include <iostream.h>

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

Pemrograman Dasar C. Minggu 10

FUNCTIONS. Function adalah satu blok instruksi yang akan dieksekusi ketika dipanggil dari bagian lain dalam suatu program.

By : Agus Priyanto, M.Kom ST3 Telkom Purwokerto Structure and Pointer


KONSEP POINTER DAN LINKED LIST

Algoritma dan Struktur Data. Linked List

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

Pointer. ted = &andy;

Function. Function adalah satu blok instruksi yang dieksekusi ketika dipanggil dari bagian lain dalam suatu program. Format dari function :

KONSEP POINTER DAN LINKED LIST

KONSEP POINTER DAN LINKED LIST

Pertemuan 3. Perubah Dinamis (Dinamic variable) Suatu perubah yang akan dialokasikan hanya pada saat diperlukan, yaitu setelah program dieksekusi.

ALGORITMA DAN STRUKTUR DATA

KONSEP POINTER DAN LINKED LIST

P 4 Bab 3 : Dasar Pemrograman C

Function. Contoh function 1 : // function example #include <stdio.h> int addition (int a, int b){ int r; r=a+b; return (r); }

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

Linked List 6.3 & 7.3 NESTED LOOP

Struct. Tim ALPRO Teknik Informatika

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

Algoritme dan Pemrograman

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

Algoritma dan Pemrograman Tahar Agastani Teknik Informatika UIN

Pertemuan Function. Obyektif Praktikum : 1. Mengerti konsep dasar penggunaan Function

Sejarah C. Dirancang oleh Denis M. Ritchie tahun 1972 di Bell Labs.

Pemrograman Dasar C. Minggu 9

Minggu ke-14 Typedef, Struct & Command Line Argument

STRUKTUR DATA POKOK BAHASAN - 8 QUEUE ( ANTRIAN)

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

MODUL IV ARRAY DAN STRUCTURE

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

PRAKTIKUM 2. perubah (variabel), konstanta, fungsi, atau obyek lain yang didefinisikan oleh

Algoritma & Pemrograman #9. by antonius rachmat c, s.kom, m.cs

SINGLE LINKED LIST NON CIRCULAR (SENARAI BERANTAI TUNGGAL TIDAK BERPUTAR)

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

PERTEMUAN VIII STRUKTUR LANJUT

VARIABEL & TIPE DATA PEMROGRAMAN C++

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

Algoritma dan Struktur Data. Pertemuan 8 Doubly Linked List

Penger6an struct. Algoritme dan Pemrograman. Cara membuat struct. Deklarasi struct. Pointer pada struct 12/10/14 ILKOM IPB 1

Struktur Dasar Bahasa C Tipe Data Dalam bahasa C terdapat lima tipe data dasar, yaitu :

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

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

Pointer 1 A. TUJUAN PEMBELAJARAN

STRUCT. d e d d y a d i n a n d r a

Fungsi : Dasar Fungsi

04. Single Linked List

Algoritma dan Struktur Data. Pertemuan 7 Linked List

ARRAY. Karakteristik

STACK dan QUEUE MODUL PRAKTIKUM STRUKTUR DATA 09 UNIVERSITAS KRISTEN DUTA WACANA. Daftar Isi: Stack dan Queue. Latihan soal. Guided.

Fungsi DASAR PEMROGRAMAN

PERTEMUAN VII FILE TEKS & FILE BINER

Variable. Variable (cont) Variable (cont) Tipe Data

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

BAB III POINTER. Type *variabel-name

ARRAY & STRUKTUR. Contoh Deklarasi :

Algoritma dan Struktur Data. Pertemuan 9 Circular Linked List

BAB 6 FUNGSI TUJUAN PRAKTIKUM

Pertemuan 11. Tipe data Struktur (Struct) dan Union

Single Linked List (1)

Function. // function example. #include <iostream.h> int addition (int a, int b) { int r; r=a+b; return (r); }

Pointer, File Header & Makro

Algoritma dan Struktur Data

Pertemuan 2. Gambaran Umum C

Fungsi DASAR PEMROGRAMAN

Modul 1 Dasar Dasar Bahasa Pemrograman C

ALGORITMA DAN STRUKTUR DATA POINTER DAN FUNCTION

ALGORITMA & PEMROGRAMAN II ARRAY

Transkripsi:

PRAKTIKUM STRUCT Struct 1 Percobaan 1 #define N 4 struct student char name[20]; int eng; int math; int phys; ; struct student data[]= "Jack", 82, 72, 58, "Young", 77, 82, 79, "Steeve", 52, 62, 39, "Mark", 61, 82, 88 ; int main(void) int i; for(i=0; i<n; i++) printf("%7s: Eng = %3d Math = %3d Phys = %3d\n", data[i].name, data[i].eng, data[i].math, data[i].phys); return (0); Output: Jack: Eng = 82 Math = 72 Phys = 58 Young: Eng = 77 Math = 82 Phys = 79 Steeve: Eng = 52 Math = 62 Phys = 39 Mark: Eng = 61 Math = 82 Phys = 88 Percobaan 2 #define N 4 struct student char name[20]; int eng; int math; int phys; double mean; 1

; struct student data[]= "Jack", 82, 72, 58, 0.0, "Young", 77, 82, 79, 0.0, "Steeve", 52, 62, 39, 0.0, "Mark", 61, 82, 88, 0.0 ; int main(void) int i, j; for(i=0; i<n; i++) data[i].mean = (data[i].eng + data[i].math + data[i].phys)/3.0; for(i=0; i<n; i++) printf("%7s: Eng = %3d Math = %3d Phys = %3d: Mean = %5.1f\n", data[i].name, data[i].eng, data[i].math, data[i].phys, data[i].mean); return (0); Output : Jack: Eng = 82 Math = 72 Phys = 58: Mean = 70.7 Young: Eng = 77 Math = 82 Phys = 79: Mean = 79.3 Steeve: Eng = 52 Math = 62 Phys = 39: Mean = 51.0 Mark: Eng = 61 Math = 82 Phys = 88: Mean = 77.0 LATIHAN 1. Sebutkan pendeklarasian struct yang salah! A. struct point ( double x, y ) B. struct point double x, double y ; C. struct point double x; double y D. struct point double x; double y; ; E. struct point double x; double y; 2. Sebutkan pendeklarasian struct yang salah! A. typedef struct double x; double y Point; B. typedef double x; double y; Point; C. typedef struct double x; double y; ; D. typedef struct double x; double y; Point; 3. Apa perbedaan tiga program di bawah ini? (a) struct point double x; double y; ; 2

int main(void) struct point test; test.x =.25; test.y =.75; printf("[%f %f]\n", test.x, test.y); (b) (c) typedef struct double x; double y; Point; int main(void) Point test; test.x =.25; test.y =.75; printf("[%f %f]\n", test.x, test.y); typedef struct double x; double y; Point; int main(void) Point test =.25,.75; printf("[%f %f]\n", test.x, test.y); 4. Buatlah fungsi POINTshow() yang memiliki fungsi yang sama dengan soal no3. typedef struct double x; double y; Point; int main(void) Point test =.25,.75; POINTshow(test); 5. a. Buatlah struct mahasiswa dengan informasi : Nama (nama mahasiswa dengan tipe char[]) UTS (nilai uts dengan tipe int) UAS (nilai uas dengan tipe int) Tugas (nilai tugas dengan tipe int) NA (nilai akhir dengan tipe int) NH (nilai huruf dengan tipe char[]) b. Buatlah array dengan nama data_mhs dengan tipe struct mahasiswa untuk menyimpan data mahasiswa, selanjutnya lakukan inisialisasi pada array tersebut. struct mahasiswa data_mhs[5]; c. Hitunglah nilai akhir(na) dengan formula NA = 0.35 * UTS + 0.45 * UAS + 0.2 * Tugas dengan membuat fungsi hitungna. int hitungna (int uts, int uas, int tugas); d. Mengubah nilai angka menjadi nilai huruf dengan ketentuan. No NA NH 1 81 nilai 100 A 2 nilai 71 AB 3 nilai 66 B 4 nilai 61 BC 5 nilai 56 C 6 nilai 41 D 7 0 nilai 40 E 3

dengan membuat fungsi nilaihuruf. void nilaihuruf(int na) e. Tampilkan data mahasiswa berupa : no nama NA NH 6. a. Buatlah struct product untuk menyimpan data product dengan informasi nama dan harga. Buatlah array dengan nama data_product dan lakukan inisialisasi pada array tersebut. b. Buatlah struct transaksi dengan informasi struct product, jumlah barang dan total harga. Buatlah variabel array data_transaksi dengan tipe struct transaksi. struct transaksi data_transaksi[15]; c. Buatlah fungsi search() untuk mencari apakah product yang diinputkan oleh user terdapat pada data_product. Jika barang tersebut ada di data_product maka mengembalikan index array, jika barang tersebut tidak ada maka mengembalikan nilai -1. int search(char[] product) Output program Product : sikat gigi Jumlah : 3 Lanjut [Y/T] : y Product : sabun Jumlah : 2 Lanjut [Y/T] : y Product : shampo Jumlah : 1 Lanjut [Y/T] : y Product : promag Data tidak ditemukan Lanjut [Y/T] : y Product : pewangi Jumlah : 2 Lanjut [Y/T] : t Data transaksi No Product jumlah harga total 1 sikat gigi 3 5.000 15.000 2 sabun 2 2.500 5.000 3 shampo 1 10.000 10.000 4 pewangi 2 6.000 12.000 Total 42.000 7. a. Buatlah struct Point dengan field x dan y dengan tipe double b. Buatlah fungsi jarak() untuk menghitung jarak dari dua titik dengan fungsi jarak double jarak(struct Point p1, struct Point p2); 4

c. Buatlah fungsi equal() untuk mengecek apakah dua titik merupakan titik yang sama atau bukan. Jika dua titik merupakan titik yang sama mengembalikan nilai 1, jika tidak sama mengembalikan nilai 0. int equal(struct Point p1, struct Point p2); 8. a. Buatlah struct RECTANGLE untuk membuat persegi panjang yang berisi informasi dua titik yaitu titik 1 adalah titik ujung kiri atas, titik 2 adalah titik ujung kanan bawah. b. Buatlah fungsi luaspersegipanjang() untuk menghitung luas persegi panjang. double luaspersegipanjang (struct RECTANGLE r); c. Buatlah fungsi PointinPersegiPanjang() untuk mengecek apakah sebuah titik berada dalam Persegipanjang, jika yam aka bernilai 1, jika tidak maka bernilai 0. int PointinPersegiPanjang(struct Point p, struct RECTANGLE r); d. Buatlah fungsi inpersegipanjang() untuk mengecek apakah persegi panjang 1 berada di dalam persegi panjang 2. Jika ya maka bernilai 1, jika tidak maka bernilai 0. int inpersegipanjang(struct RECTANGLE r1, struct RECTANGLE r2); Struct 2 Percobaan 1 struct name int a; float b; ; int main() struct name *ptr,p; ptr=&p; /* Referencing pointer to memory address of p */ printf("enter integer: "); scanf("%d",&(*ptr).a); printf("enter number: "); scanf("%f",&(*ptr).b); printf("displaying: "); printf("%d%f",(*ptr).a,(*ptr).b); Percobaan 2 struct Book char name[10]; int price; int main() struct Book a; struct Book* ptr; ptr = &a; struct Book b[10]; 5

struct Book* p; p = &b; Percobaan 3 #define N 4 typedef struct student char name[20]; int eng; int math; int phys; STUDENT; STUDENT data[]= "Jack", 82, 72, 58, "Young", 77, 82, 79, "Steeve", 52, 62, 39, "Mark", 61, 82, 88 ; STUDENT *p; int main(void) int i; // Pointer variable p refers to the address of data p = data; for(i=0; i<n; i++) printf("%10s: English = %3d Math = %3d p->name, p->eng, p->math, p->phys); Physics = %3d\n", // Shifting of address p++; return (0); Percobaan 4 struct student char name[50]; int roll; ; void Display(struct student stu); /* function prototype should be below to the structure declaration otherwise compiler shows error */ int main() struct student s1; printf("enter student's name: "); scanf("%s",&s1.name); printf("enter roll number:"); scanf("%d",&s1.roll); Display(s1); // passing structure variable s1 as argument 6

void Display(struct student stu) printf("output\nname: %s",stu.name); printf("\nroll: %d",stu.roll); Output: Enter student's name: Kevin Amla Enter roll number: 149 Output Name: Kevin Amla Roll: 149 Percobaan 5 struct distance int feet; float inch; ; void Add(struct distance d1,struct distance d2, struct distance *d3); int main() struct distance dist1, dist2, dist3; printf("first distance\n"); printf("enter feet: "); scanf("%d",&dist1.feet); printf("enter inch: "); scanf("%f",&dist1.inch); printf("second distance\n"); printf("enter feet: "); scanf("%d",&dist2.feet); printf("enter inch: "); scanf("%f",&dist2.inch); Add(dist1, dist2, &dist3); /*passing structure variables dist1 and dist2 by value whereas passing structure variable dist3 by reference */ printf("\nsum of distances = %d\'-%.1f\"",dist3.feet, dist3.inch); void Add(struct distance d1,struct distance d2, struct distance *d3) /* Adding distances d1 and d2 and storing it in d3 */ d3->feet=d1.feet+d2.feet; d3->inch=d1.inch+d2.inch; if (d3->inch>=12) /* if inch is greater or equal to 12, converting it to feet. */ d3->inch-=12; ++d3->feet; Output: First distance Enter feet: 12 Enter inch: 6.8 7

Second distance Enter feet: 5 Enter inch: 7.5 Sum of distances = 18'-2.3" Percobaan 4 Menghitung harga dengan memberikan diskon 10%. Untuk detail set menu, item dan harga seperti table dibawah ini. Set A B C D Items Burger, Drink, Potato Cheese burger, Drink, Potato Chicken burger, Drink, Potato Chicken burger, Drink, Potato, Ice cream Item Price (JPY) Burger 130 Cheese burger 150 Chicken burger 200 Drink 130 Potato 120 Ice cream 160 int main(void) int i, sum_price=0; struct single char *name; int price; struct single *p; ; struct set char *set_name; int set_price; struct single *p; ; struct set s[]="set A", 0, NULL, "set B", 0, NULL, "set C", 0, NULL, "set D", 0, NULL; struct single burger[] = "Burger", 130, NULL, "Cheese burger", 150, NULL, "Chicken burger", 200, NULL; struct single drink = "Drink", 130, NULL; struct single potato = "Potato", 120, NULL; struct single ice = "Ice cream", 160, NULL; struct single *pt; 8

// Set B: Cheese burger, Drink, Potato s[1].p = &burger[1]; burger[1].p = &drink; drink.p = &potato; printf("********** %s ***********\n", s[1].set_name); LATIHAN // Calculate set price by 10 % discount of sum of all items for(pt = s[1].p; pt!= NULL; pt = pt->p) sum_price += pt->price; printf("%17s: %5d JPY\n", pt->name, pt->price); printf("----------------------------\n"); printf("sum of all items : %5d JPY\n", sum_price); s[1].set_price = (int)(sum_price*0.9)/10*10; printf(" Set price : %5d JPY\n", s[1].set_price); return (0); 1. Tampilkan data mahasiswa yang sudah dikerjakan sebelumnya menggunakan pointer 2. Kembangkan dari percobaan 2 sehingga menjadi program dengan output sebagai berikut. (Execution result) $./a.out Select one among following set menus 1: set A (Burger, Drink, Potato) 2: set B (Cheese burger, Drink, Potato) 3: set C (Chicken burger, Drink, Potato) 4: set D (Chicken burger, Drink, Potato, Ice cream) 1 ********** set A *********** Burger: 130 JPY Drink: 130 JPY Potato: 120 JPY ---------------------------- Sum of all items : 380 JPY Set price : 340 JPY $ $./a.out Select one among following set menus 1: set A (Burger, Drink, Potato) 2: set B (Cheese burger, Drink, Potato) 3: set C (Chicken burger, Drink, Potato) 4: set D (Chicken burger, Drink, Potato, Ice cream) 2 ********** set B *********** Cheese burger: 150 JPY Drink: 130 JPY Potato: 120 JPY 9

---------------------------- Sum of all items : 400 JPY Set price : 360 JPY $ $./a.out Select one among following set menus 1: set A (Burger, Drink, Potato) 2: set B (Cheese burger, Drink, Potato) 3: set C (Chicken burger, Drink, Potato) 4: set D (Chicken burger, Drink, Potato, Ice cream) 3 ********** set C *********** Chicken burger: 200 JPY Drink: 130 JPY Potato: 120 JPY ---------------------------- Sum of all items : 450 JPY Set price : 400 JPY $ $./a.out Select one among following set menus 1: set A (Burger, Drink, Potato) 2: set B (Cheese burger, Drink, Potato) 3: set C (Chicken burger, Drink, Potato) 4: set D (Chicken burger, Drink, Potato, Ice cream) 4 ********** set D *********** Chicken burger: 200 JPY Drink: 130 JPY Potato: 120 JPY Ice cream: 160 JPY ---------------------------- Sum of all items : 610 JPY Set price : 540 JPY $ 10