Tipe Data Lanjut, Pointer, & Operasi File : Tipe Data Struktur (Struct), Perbedaan Struct dengan Tipe Data Lain, & Program Sistem Periodik Unsur (SPU) dengan Struct

8 12 2009

1. Jelaskan apa yang dimaksud dengan tipe data struktur (struct)?? Hal-hal apa saja yang membedakannya dengan tipe data yang lain?

  • Tipe data struktur adalah koleksi dari variabel yang dinyatakan dengan sebuah nama, dengan sifat setiap variabel dapat memiliki tipe yang berlainan. Struktur ini biasanya digunakan untuk mengelompokkan beberapa informasi yang berkaitan menjadi sebuah kesatuan.
  • Yang membedakan dengan tipe data yang lain adalah :
  • Suatu struktur dapat terdiri dari kumpulan variabel – variabel yang berbeda tipenya dalam satu nama.

2. Definisikan sebuah struktur (struct) untuk merepresentasikan satu elemen dari elemen-elemen pada sebuah tabel periodik!? Struktur tersebut harus mengandung:

  • nomor atom
  • nama atom
  • simbol kimia
  • kelas
  • berat atom
  • 7 elemen array untuk merepresentasikan jumlah elektron pada tiap-tiap lapisan energi

Tentukan sendiri tipe data yang sesuai untuk masing-masing elemen struktur.

Buatlah sebuah fungsi (bukan program) untuk memindai sebuah record elemen dari inputan user (scan_element) dan fungsi untuk mencetak sebuah record elemen-elemen yang ada ke layar (print_element)!?

Contoh salah satu record:

11        Natrium           Na       Alkali              22,9898           2 8 1 0 0 0 0

Algoritma Program :

  1. Fungsi utama memanggil fungsi ”spu”.
  2. Fungsi spu membersihkan tampilan pada layar.
  3. Fungsi spu menampilkan instruksi kepada user untuk memasukkan input data dari Sistem Periodik Unsur.
  4. Fungsi spu menampilkan instruksi kepada user untuk memasukkan nomor atom. Setelah user memasukkan input, Fungsi spu akan menyimpannya dalam field nomor_atom dari variabel struktur atom, kemudian membersihkan memori dari input keyboard.
  5. Fungsi spu menampilkan instruksi kepada user untuk memasukkan nama atom. Setelah user memasukkan input, Fungsi spu akan menyimpannya dalam field nama_atom dari variabel struktur atom, kemudian membersihkan memori dari input keyboard.
  6. Fungsi spu menampilkan instruksi kepada user untuk memasukkan simbol kimia. Setelah user memasukkan input, Fungsi spu akan menyimpannya dalam field simbol_kimia dari variabel struktur atom, kemudian membersihkan memori dari input keyboard.
  7. Fungsi spu menampilkan instruksi kepada user untuk memasukkan kelas. Setelah user memasukkan input, Fungsi spu akan menyimpannya dalam field kelas dari variabel struktur atom, kemudian membersihkan memori dari input keyboard.
  8. Fungsi spu menampilkan instruksi kepada user untuk memasukkan berat atom. Setelah user memasukkan input, Fungsi spu akan menyimpannya dalam field berat_atom dari variabel struktur atom, kemudian membersihkan memori dari input keyboard.
  9. Fungsi spu menampilkan instruksi kepada user untuk memasukkan jumlah elektron. Setelah user memasukkan input, Fungsi spu akan menyimpannya dalam field jumlah_elektron dari variabel struktur atom, kemudian membersihkan memori dari input keyboard.
  10. Fungsi spu menampilkan record data yang telah diinputkan user.
  11. Fungsi spu menampilkan pilihan apakah user ingin mengulangi lagi atau tidak. Jika ”ya” program akan diulangi lagi dari awal.

Sourcecode Program :

#include<stdio.h>

#include<conio.h>

#include<stdlib.h>

struct elemen

{

char nama_atom[15],simbol_kimia[5], kelas[15], jumlah_elektron[8];

int nomor_atom;

float  berat_atom;

}atom;

void spu();

int main(void)

{

spu();

getch();

return(0);

}

void spu()

{

char ulangi;

do

{

system("cls");

puts("Masukkan input data dari Sistem Periodik Unsur!\n");

printf("Nomor Atom\t: ");

scanf("%d", &atom.nomor_atom);

fflush(stdin);

printf("Nama Atom\t: ");

gets(atom.nama_atom);

fflush(stdin);

printf("Simbol Kimia\t: ");

gets(atom.simbol_kimia);

fflush(stdin);

printf("Kelas\t\t: ");

gets(atom.kelas);

fflush(stdin);

printf("Berat atom\t: ");

scanf("%f", &atom.berat_atom);

fflush(stdin);

printf("Jumlah Elektron : ");

gets(atom.jumlah_elektron);

fflush(stdin);

printf("\n\n");

printf("%d\t %s\t %s\t %s\t %3.4f\t %s\t", atom.nomor_atom, atom.nama_atom, atom.simbol_kimia, atom.kelas, atom.berat_atom, atom.jumlah_elektron);

printf("\n\n");

printf("\nTekan Y untuk mengulangi lagi !");

ulangi=getche();

}while ((ulangi=='Y')||(ulangi=='y'));

}

Posted By : Evan Yofiyanto @ Evan’s Blog : Kuliah Informatika (kuliahinformatika.wordpress.com)

[FREAX]


Actions

Information

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s




%d bloggers like this: