PRAKTIKUM 13 STRUKTUR 1

dokumen-dokumen yang mirip
PRAKTIKUM 13 STRUKTUR 1

SASARAN. Setelah menyelesaikan bab ini, anda diharapkan dapat:

Praktikum 11 (1/3) Struktur

Struct 1 A. TUJUAN PEMBELAJARAN

Tujuan : date day month year

PERTEMUAN VIII STRUKTUR LANJUT

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

ARRAY & STRUKTUR. Contoh Deklarasi :

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

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

MODUL 6 RECORD/STRUCT/STRUKTUR

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

Array 1 A. TUJUAN PEMBELAJARAN

MENGAKSES ELEMEN STRUKTUR

PRAKTIKUM 9 ARRAY. ARRAY BERDIMENSI SATU Suatu array berdimensi satu dideklarasikan dalam bentuk umum berupa :

PRAKTIKUM 14 STRUKTUR 2

Praktikum 29 Struct1 2016

Struct 2 A. TUJUAN PEMBELAJARAN

PRAKTIKUM 14 STRUKTUR 2

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

PRAKTIKUM 12 POINTER 2

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

Larik/ Array int a1, a2, a3, a4, a5;

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

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

Fungsi : Dasar Fungsi

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

IT234 - Algoritma dan Struktur Data. Ramos Somya

Chapter 1 KONSEP DASAR C

Bahasa C-M6 By Jamilah, Skom 1

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

STRING DASAR PEMROGRAMAN

MAKALAH POINTER PADA BAHASA C

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

String 1 A. TUJUAN PEMBELAJARAN

MODUL PRAKTIKUM ALGORITMA DAN STRUKTUR DATA PERTEMUAN 1

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

Struktur Program Bahasa C

BAB VIII POINTER. Tujuan :

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

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

Teori Algoritma. Jenis seleksi

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

BAHASA PEMROGRAMAN C

IT234 - Algoritma dan Struktur Data. Ramos Somya

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

Zodiac Pet Info. Untuk mengenal Pet Zodiac lebih dekat, mari ikuti ulasan mengenai zodiac pet berikut ini:

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER STMIK AMIKOM YOGYAKARTA

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

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

Struct Lanjutan: Studi Kasus

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

BAB 5 PERULANGAN DAN ARRAY

PRAKTIKUM 7 FUNGSI 1

FUNGSI. tipe Tipe nilai yang dihasilkan oleh fungsi. Jika tidak dinyatakan, hasil fungsi dianggap bilangan bulat (int)

PERTEMUAN VI POINTER 6.1 Tujuan Praktikum 6.2 Teori Penunjang Pointer

Pengenalan Struktur Data. Farah Zakiyah Rahmanti 2014

Achmad Solichin.

P 4 Bab 3 : Dasar Pemrograman C

BAB VI ARRAY. tipe_data nama_var[ukuran];

Pengenalan C++ Oleh : Dewi Sartika

Praktikum 21 String

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

JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK Universitas Widyatama. Kasus A : Mudik Euy

OPERASI PERNYATAAN KONDISI

A R R A Y. Bentuk umum deklarasi array : type nama_array[ukuran] tipe : menyatakan tipe dasar array ukuran : menyatakan banyaknya elemen pada array

xxxx alamat Praktikum 11 POINTER

Modul Praktikum Algoritma dan Struktur Data

ALUR PROGRAM. SELEKSI KONDISI Statement If a. Bentuk If tunggal sederhana Sintaks : if ( kondisi ) statement ;

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

Pemrograman Dasar C. Minggu 9

VARIABEL & TIPE DATA PEMROGRAMAN C++

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

I. JUDUL Array. Pengertian Array. Deklarasi Array PRAKTIKUM 6 ARRAY II. TUJUAN. III. ALAT DAN BAHAN - Microsoft Visual Studio 2010

Pointer 2 A. TUJUAN PEMBELAJARAN. 1. Memahami tentang Pointer to Array 2. Memahami tentang Pointer to String

POINTER I. Oleh : Mike Yuliana PENS-ITS

Bab 2. Dasar-Dasar Pemrograman C

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

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

Tipe Data, Variabel, Input/Output

Kelompok 10 Array. Nama :

Turbo C adalah tool yang dipakai untuk membuat code program dalam bahasa C ataupun C++. Berikut adalah jendela utama Turbo C

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

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

REVIEW ARRAY. Institut Teknologi Sumatera

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

Minggu ke-14 Typedef, Struct & Command Line Argument

POINTER. Praktikum 10 (3/5) A. TUJUAN 1. Menjelaskan tentang Pointer to Array 2. Menjelaskan tentang Pointer to String

Tipe Data. Adri Priadana

TIM ASISTEN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN 2017

PRAKTIKUM 11 POINTER 1

Algoritma Pemrograman. Fery Updi,M.Kom

Algoritma dan Struktur Data. Ramos Somya

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

Pemrograman Dasar A R R A Y

MATERI/BAHAN PRAKTIKUM PENDAHULUAN DAN PENGENALAN (IDENTIFIER)

Cara pertama adalah pada saat deklarasi variabel ditambahkan ke- yword const sebelum nama tipe data seperti

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

PRAKTIKUM 11 POINTER 1

PRAKTIKUM 5 PENGULANGAN PROSES 1

Transkripsi:

PRAKTIKUM 13 STRUKTUR 1 A. Tujuan 1. Menjelaskan cara mendeklarasikan struktur 2. Menjelaskan cara menginisialisasi struktur 3. Menjelaskan cara mengakses elemen struktur 4. Menjelaskan pembentukan dan cara mengakses array dari struktur (array of struct) B. DASAR TEORI Struktur adalah pengelompokan variabel-variabel yang bernaung dalam satu nama yang sama. Berbeda dengan array yang berisi kumpulan variabel-variabel yang bertipe sama dalam satu nama, maka suatu struktur dapat terdiri atas variabel-variabel yang berbeda tipenya dalam satu nama struktur. Struktur biasa dipakai untuk mengelompokkan beberapa informasi yang berkaitan menjadi sebuah. Variabel-variabel yang membentuk suatu struktur, selanjutnya disebut sebagai elemen dari struktur atau field. Dengan demikian dimungkinkan suatu struktur dapat berisi elemen-elemen data berbeda tipe seperti char, int, float, double, dan lain-lain. Contoh sebuah struktur adalah informasi data tanggal (date) yang berisi: - day - month, dan - year Mendefinisikan & Mendeklarasikan Struktur Suatu struktur didefinisikan dengan menggunakan kata kunci struct. pendefinisian sebuah tipe data struktur : int month; int day; int year; int month, day, year; Contoh 114

yang mendefinisikan sebuah tipe data struktur bernama date yang memiliki tiga buah elemen (field) berupa : - day - month - year kata kunci nama tipe struktur mengawali dan mengakhiri elemen-elemen struktur struct date { int month; int day; int year; masing-masing disebut field atau elemen struktur Untuk mendeklarasikan sebuah variabel today yang bertipe struktur date pernyataan yang diperlukan adalah sebagai berikut: struct date today; nama tipe struktur variabel struktur Pernyataan di atas menyatakan bahwa variabel today bertipe struktur date. Dalam mendefinisikan sebuah struktur, elemen yang terkandung di dalamnya bisa juga berupa sebuah struktur, contoh : int month, day, year; struct person { char name[30]; struct date birthday; struct person student; //deklarasi var student 115

Diagram struktur data dari variabel student dapat digambarkan sbb : name student month birthday day year Mengakses Elemen Struktur Elemen dari suatu variabel struktur dapat diakses dengan menyebutkan nama variabel struktur diikuti dengan operator titik (. ) dan nama dari elemen strukturnya. Cara penulisannya sebagai berikut variabel_struktur.nama_field Untuk memberikan data nama ke field name dari variabel student di atas, maka pernyataan yang diperlukan misalnya adalah : strcpy(student.name, "MUHAMMAD IHSAN"); Pada pernyataan di atas, student.name dapat dibaca sebagai "field name dari student". Contoh berikut merupakan instruksi untuk mengisikan data pada field birthday : student.birthday.day = 10; Sedangkan untuk mendapatkan isi suatu field dari variabel struktur, contohnya : tgl = student.birthday.day; puts(student.name); Contoh pertama merupakan instruksi untuk memberikan isi dari field day ke variabel tgl. Sedangkan contoh kedua merupakan instruksi untuk menampilkan isi dari field name. Menginisialisasi Struktur Sebuah struktur juga bisa diinisialisasi pada saat dideklarasikan. Hal ini serupa dengan inisialisasi array, yaitu elemen-elemennya dituliskan di dalam sepasang kurung kurawal ( { } ) dengan masing-masing dipisahkan dengan koma. Deklarasi struktur didahului dengan kata kunci static, contoh 116

static struct zodiak bintang = {"Sagitarius", 22, 11, 21, 12 Array dan Struktur Elemen-elemen dari suatu array juga dapat berbentuk sebuah struktur. Misalnya array yang dipakai untuk menyimpan sejumlah data siswa (struct student). Array struktur berdimensi satu ini membentuk suatu tabel, dengan barisnya menunjukkan elemen dari array-nya dan kolomnya menunjukkan elemen dari struktur. Dalam hal ini maka deklarasi yang dibutuhkan adalah sebagai berikut : #define MAKS 20... /* 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]; yang artinya, mendeklarasikan array student yang memiliki elemen yang bertipe struct person sebanyak MAKS. disediakan ditunjukkan dalam Gambar 13.1. Setelah array student dideklarasikan, maka ruang yang 117

birthday name month day year 0 1 18 19 Gambar 13.1 Array student Elemen-elemen dari array stuktur tersebut bisa diakses dengan cara sebagai berikut : 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); Di samping cara pendeklarasian di atas, struktur juga dapat dideklarasikan dalam berbagai bentuk yang lain, di antaranya sbb : int month, day, year; } today, tomorrow; struct person { char name[30]; struct date birthday; } student[maks]; yaitu mendefinisikan struktur date, sekaligus mendeklarasikan variabel today dan tomorrow dengan tipe struktur date. Demikian juga mendefinisikan struktur person, 118

sekaligus mendeklarasikan variabel array student sebanyak MAKS elemen dengan tipe struktur person. Atau cara lainnya mendefinisikan, mendeklarasikan sekaligus menginisialisasi struktur, sebagai berikut : int month, day, year; } today = {5,14,2001 C. TUGAS PENDAHULUAN 1. Definisikan sebuah struktur (misalkan namanya=karyawan) yang memiliki 3 buah field berupa sebuah array karakter dengan 10 elemen (misalkan namanya = nama), sebuah array karakter dengan 10 elemen (misalkan namanya = alamat), sebuah long integer (misalkan namanya = gaji). D. PERCOBAAN 1. Buatlah program untuk menghitung gaji dari seorang karyawan, dengan menggunakan struktur karyawan yang telah dibuat pada tugas pendahuluan. Gaji bersih yang diterima adalah gaji kotor yang dikurangi 15%. Tampilan : Masukkan nama karyawan : andi Masukkan alamat karyawan : Surabaya Masukkan gaji kotor karyawan : 500000 Gaji bersih yang diterima : 425000 2. 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! Tampilan : Masukkan nama barang : sabun Masukkan jumlah barang : 5 Masukkan harga per barang : 20000 119

Jadi barang yang dimasukkan adalah sabun, jumlah barang 5 dan total harganya adalah 100000 3. Buat program untuk menghitung luas segitiga, dengan variabel-variabelnya didefinisikan dalam sebuah struktur (ada 3 field yaitu integer alas; integer tinggi & float luas). Tampilan : Masukkan alas : 10 Masukkan tinggi : 5 Jadi luasnya adalah : 25 4. Buatkan definisi struktur dan programnya dari diagram struktur data berikut ini : Lakukan pengisian langsung pada field yang ada, sehingga didapat tampilan seperti dibawah ini : Tampilan : Nama mahasiswa andri nrp 1203, prodi teknik telekomunikasi kelas 2 E. LAPORAN RESMI 1. Menampilkan zodiak dari tanggal lahir yang dimasukkan /* File program : zodiak1.c */ #include <stdio.h> main() { struct zodiak { 120

char nama[11]; int tgl_awal; int bln_awal; int tgl_akhir; int bln_akhir; struct zodiak bintang = {"Sagitarius", 22, 11, 21, 12 int tgl_lhr, bln_lhr, thn_lhr; printf("masukkan tgl lahir Anda (tgl/bln/thn) : "); scanf("%d/%d/%d",&tgl_lhr, &bln_lhr, &thn_lhr); if((tgl_lhr >= bintang.tgl_awal && bln_lhr == bintang.bln_awal) (tgl_lhr <= bintang.tgl_akhir && bln_lhr == bintang.bln_akhir)) printf("bintang Anda adalah %s\n", bintang.nama); else printf("bintang Anda bukan %s\n", bintang.nama); } Kembangkanlah program zodiak1.c di atas sehingga dapat dipakai untuk menentukan bintang sesuai tanggal kelahiran. Sebagai acuan, gunakan data berikut : Aries Taurus Gemini Cancer Leo Virgo Libra Scorpio Sagitarius Capricorn Aquarius Pisces : 21 Maret 19 April : 20 April 20 Mei : 21 Mei 20 Juni : 21 Juni 22 Juli : 23 Juli 22 Agustus : 23 Agustus 22 September : 23 September 22 Oktober : 23 Oktober 21 November : 22 November 21 Desember : 22 Desember 19 Januari : 20 Januari 18 Februari : 19 Februari 20 Maret Gunakan array untuk mengimplementasikan programnya. 121