Grafika Komputer : Aplikasi Baca File Informasi Data Gambar Persegi & Menggambarkannya pada Layar

9 12 2009

1. Buat aplikasi yang membaca sebuah file yang berisi informasi data gambar persegi, kemudian menggambarkan semua gambar dengan informasi tersebut dilayar.

Contoh:
Setiap line berisi <posisi x><spasi><posisi y><spasi><width><spasi><height>
Isi file file.txt:
60 100 200 500
150 300 500 500

Algoritma Program :

  1. Program melakukan inisialisasi allegro agar fungsi – fungsi dalam allegro dapat  digunakan.
  2. Program menginstall keyboard agar fungsi – fungsi keyboard dapat digunakan dan input keyboard dapat terdeteksi.
  3. Program mengeset mode grafik agar dapat menggambar grafik dan menampilkan sebuah jendela dengan ukuran 800 X 600 pixel.
  4. Program memanggil fungsi scan_file().
  5. Fungsi scan_file() menginstruksikan kepada user untuk memasukkan nama file yang akan diinputkan.
  6. Selama user belum menekan tombol ENTER fungsi scan_file() akan membaca setiap input yang berasal dari keyboard, ketika user mengetikkan nama file input dan langsung menampilkan apa yang diketikkan user pada jendela tersebut.
  7. Program menanyakan apakah nama file yang diinputkan benar. Jika user menekan tombol ‘n’, program akan membersikan jendela dan menginstruksikan user untuk memasukkan nama file yang akan diinputkan lagi.
  8. Sedangkan, Jika user menekan tombol ‘y’, program akan mencari file tesebut. Jika file tak ada program akan membersihkan jendela dan menampilkan statement <<File tidak dapat ditemukan>> yang berwarna putih. Kemudian jika setelah itu user menekan tombol, program akan dihentikan.
  9. Jika file ditemukan, program akan membaca tiap data yang berupa array 1 dimensi yang dipisahkan oleh spasi pada file tersebut.
  10. Program menutup file input.
  11. Program membersihkan jendela dengan warna putih.
  12. Selama user belum menekan tombol ESC, program akan menampilkan gambar persegi dengan posisi dan ukuran yang sesuai dengan indeks data pada file input yang berwarna R = 255, G = 100, B = 255 (merah muda) dengan selang waktu tiap index (persegi) 300 mili sekon.
  13. Jika user menekan tombol ESC jendela akan langsung ditutup.

Sorcecode Program : Read the rest of this entry »





Grafika Komputer : Prosedur & Fungsi dalam Library Grafis Allegro

9 12 2009

3. Jelaskan apa yang dimaksud dengan prosedur dan fungsi-fungsi berikut dalam library grafis Allegro:

Catatan: masing-masing fungsi, prosedur dan variabel berikan syntax-nya dan contoh penggunaannya.

  • buffer (dalam pemrograman grafis)

Buffer adalah file penyangga dalam pemrograman grafis.

Contoh penggunaannya :

AUDIOSTREAM *play_audio_stream(int len, int bits, int stereo, int freq, int vol, int pan);

  • tipe data BITMAP dalam Allegro

Inisialisasi tipe data bitmap:

bmp = load_bitmap(“file.bmp”, pal);

allegro_message(“Bitmap size: (%dx%d)\n”, bmp->w, bmp->h);

(w dan h itu maksudnya ukuran bitmap dalam pixel)

  • prosedur putpixel

Inisialisasi prosedur putpixel :

void putpixel(BITMAP *bmp, int x, int y, int color);

Putpixel berguna untuk menulis pixel ke posisi yang spesifik dalam bitmap, menggunakan mode drawing dan persegi panjang bitmap yang dipendekkan.

Contoh penggunaannya :

putpixel(screen, 20, 40, some_color);

  • prosedur line

Inisialisasi prosedur line :

void line(BITMAP *bmp, int x1, int y1, int x2, int y2, int color);

Berfungsi untuk menggambar garis dalam bitmap.

  • prosedur rectfill

Inisialisasi prosedur rectfill :

void rectfill(BITMAP *bmp, int x1, int y1, int x2, int y2, int color);

Berfungsi untuk menggambar persegi panjang berisi yang solid.

Read the rest of this entry »





Grafika Komputer : Library Grafis pada Pemrograman Bahasa C & Dasar Penggunaan Allegro

9 12 2009

1. Sebutkan dan jelaskan beberapa library grafis yang tersedia bagi pemrograman bahasa C (minimal 3).

a. graphic.h

File ini berisi deklarasi sejumlah variabel eksternal, definisi tipe maupun deklarasi fungsi grafik. File ini biasa digunakan digunakan dalam pemrograman grafik pada Turbo C++ 3.0.

b. allegro.h

Library grafis ini biasa digunakan dalam pemrograman grafik menggunakan Dev Cpp. Fungsi dari library ini sama dengan library graphics.h pada Turbo C++ 3.0, yakni sama-sama digunakan untuk mengaktifkan mode grafik.

c. gl.h

gl.h merupakan salah satu library grafis lainnya yang terdapat pada program Dev C bila kita ingin membuat project multimedia menggunakan Open GL.

2. Allegro adalah suatu library grafis yang tersedia bagi bahasa C, jelaskan dasar penggunaannya dalam pemrograman grafis. Read the rest of this entry »





Tipe Data Lanjut, Pointer, & Operasi File : Program Splitter File Teks Eksternal

8 12 2009

8. Soal Shift (Dekripsi -8) Diterjemahkan ke dalam Teks dengan Mozilla Firefox :

Buatlah program splitter file teks eksternal!

*Input: *string separator yang diinputkan lewat keyboard dan sebuah file

teks eksternal

_contoh input:_

string separator: “,”

/*———————–file.txt*/

Praktikum pemrograman terstruktur adalah praktikum yang

menyenangkan,penuh dengan kejutan dan hal-hal yang baru.

* *

*Output: *satu* *atau* *beberapa file eksternal yang telah

terpisah-pisah berdasarkan string separator yang diminta

_Contoh output:_

/*——————-file1.txt*/

Algoritma Program :

  1. Program menampilkan statemen yang berisi nama program ”[PROGRAM SPLITTER]”.
  2. Program membuka file eksternal yang telah disediakan dengan mode ”rt” (read text). Jika file tersebut tidak berisi karakter apapun (NULL), program akan menampilkan statemen ”File tidak dapat dibuka!” dan langsung keluar dari program.
  3. Jika berisi, program akan menginstruksikan user untuk memasukkan separator.
  4. Setelah user memasukkan separator, program menyimpannya dalam variabel ”separator”.
  5. program menginstruksikan user untuk memasukkan nama file pertama dan membuat sebuah file sesuai dengan nama tersebut.
  6. Program membaca setiap karakter file eksternal. Jika belum menemukan karakter EOF(End of File) dan karakter tersebut separator, program akan menginstruksikan user untuk memasukkan nama file selanjutnya.
  7. Jika belum menemukan karakter EOF(End of File) dan karakter – karakter tersebut bukan separator, program akan menyimpan karakter – karakter tersebut pada file tersebut.
  8. Program menampilkan statemen “<<Semua file telah tersimpan>>”.
  9. Program menutup file yang telah dibuka dan file – file yang telah diciptakan.

Sourcecode Program Splitter : Read the rest of this entry »





Tipe Data Lanjut, Pointer, & Operasi File : Program Decryptor File Teks Eksternal

8 12 2009

8. Buat sebuah program decryptor file teks eksternal untuk mendapatkan soal shift kelompok Anda!

File teks dan jenis enkripsi yang digunakan masing-masing kelompok (sudah ditentukan) dapat ditanyakan dan diambil ke asisten masing-masing.

Soal Shift (Enkripsi +8) :

Dp|ut(€utv{BwE*}zvB{kpmui{5uqkzw{wn|5kwuBwnnqkmBwnnqkm*€utv{BE*}zvB{kpmui{5uqkzw{wn|5kwuBwnnqkmBwzl*€utv{E*p||xB776;6wzo7\Z7ZMK5p|ut<8*FDpmilFDum|i(p||x5my}q~EKwv|mv|5\xm(kwv|mv|E*|m€|7p|utC(kpiz{m|Eqvlw{59:=:*FDum|i(viumEXzwoQl(kwv|mv|E_wzl6Lwk}umv|FDum|i(viumEOmvmzi|wz(kwv|mv|E*Uqkzw{wn|(_wzl(99*FDum|i(viumEWzqoqvi|wz(kwv|mv|E*Uqkzw{wn|(_wzl(99*FDtqvs(zmtENqtm5Tq{|(pzmnE*5995::\:8B;;B88bD7wBKzmi|mlF((DwBTi{|[i~mlF:88>5995::\:8B;@B88bD7wBTi{|[i~mlF((DwBXiom{F9D7wBXiom{F((DwB_wzl{FA;D7wB_wzl{F((DwBKpizik|mz{F=;>D7wBKpizik|mz{F((DwBKwuxivFPwumD7wBKwuxivF((DwBTqvm{F:@D7wBKpizik|mz{_q|p[xikm{F((DwB^mz{qwvF996>=>@D7wB^mz{qwvF(D7wBLwk}umv|Xzwxmz|qm{FD7€utFD)cmvlqne55FD)55cqn(o|m(u{w(AeFD€utF(DB_wzlLwk}umv|F((DBOziuuiz[|i|mFKtmivD7BOziuuiz[|i|mF((DBX}vk|}i|qwvSmzvqvo7F((DB^itqli|mIoiqv{|[kpmui{7F((DB[i~mQn`UTQv~itqlFnit{mD7B[i~mQn`UTQv~itqlF((DBQovwzmUq€mlKwv|mv|Fnit{mD7BQovwzmUq€mlKwv|mv|F((DBIti{[pwXtikmpwtlmz\m€|Fnit{mD7BIti{[pwXtikmpwtlmz\m€|F((DBKwuxi|qjqtq|F(((DBJzmis_zixxml\ijtm{7F(((DB[vix\wOzqlQvKmtt7F(((DB_zix\m€|_q|pX}vk|7F(((DB]{mI{qivJzmisZ}tm{7F(((DBLwv|OzwI}|wnq|7F((D7BKwuxi|qjqtq|F((DBJzw{mzTm~mtFUqkzw{wn|Qv|mzvm|M€xtwzmz*F(D7BTi|mv|[|tm{FD7€utFD)cmvlqne55FD{|tmFD)55(72(Nwv|(Lmnqvq|qwv{(27(Hnwv|5nikmƒnwv|5niuqtB*\zmj}kpm|(U[*Cxivw{m59B:(99(>(;(:(:(:(:(:(9:68x|(?A:68x|CuizoqvB?:68x|(A868x|(?:68x|(A868x|Cu{w5pmilmz5uizoqvB;=6<X|CU{W5XIXMZ5{W}ZKMB8C…LQ~6[MK|QWV9ƑXIOMB[MK|QWV9C…(72(TQ{|(LMNQVQ|QWV{(27(HTQ{|(T8ƑU{W5TQ{|5QLBA<:<=Cu{w5tq{|5|xmBpjzqlCu{w5tq{|5|muxti|m5ql{B==>8>;9:@(>?>A@?8;(>?>A@>@A(>?>A@?9=(>?>A@?8;(>?>A@?9;(>?>A@?9=(>?>A@?8;(>?>A@?9;(>?>A@?9=C…Htq{|(t8Btm~mt9ƒu{w5tm~mt5|ij5{|wxB=<68x|Cu{w5tm~mt5v}ujmz5xw{q|qwvBtmn|Cuizoqv5tmn|B=<68x|C|m€|5qvlmv|B59@68x|C…Htq{|(t8Btm~mt:ƒu{w5tm~mt5v}ujmz5nwzui|Bj}ttm|Cu{w5tm~mt5|m€|BdN8J?Cu{w5tm~mt5|ij5{|wxBA868x|Cu{w5tm~mt5v}ujmz5xw{q|qwvBtmn|Cuizoqv5tmn|BA868x|C|m€|5qvlmv|B59@68x|Cnwv|5niuqtB[ujwtC…Htq{|(t8Btm~mt;ƒu{w5tm~mt5|ij5{|wxB98@68x|Cu{w5tm~mt5v}ujmz5xw{q|qwvBtmn|C|m€|5qvlmv|B59@68x|C…Htq{|(t8Btm~mt<ƒu{w5tm~mt5|ij5{|wxB9<<68x|Cu{w5tm~mt5v}ujmz5xw{q|qwvBtmn|C|m€|5qvlmv|B59@68x|C…Htq{|(t8Btm~mt=ƒu{w5tm~mt5|ij5{|wxB9@868x|Cu{w5tm~mt5v}ujmz5xw{q|qwvBtmn|C|m€|5qvlmv|B59@68x|C…Htq{|(t8Btm~mt>ƒu{w5tm~mt5|ij5{|wxB:9>68x|Cu{w5tm~mt5v}ujmz5xw{q|qwvBtmn|C|m€|5qvlmv|B59@68x|C…Htq{|(t8Btm~mt?ƒu{w5tm~mt5|ij5{|wxB:=:68x|Cu{w5tm~mt5v}ujmz5xw{q|qwvBtmn|C|m€|5qvlmv|B59@68x|C…Htq{|(t8Btm~mt@ƒu{w5tm~mt5|ij5{|wxB:@@68x|Cu{w5tm~mt5v}ujmz5xw{q|qwvBtmn|C|m€|5qvlmv|B59@68x|C…Htq{|(t8Btm~mtAƒu{w5tm~mt5|ij5{|wxB;:<68x|Cu{w5tm~mt5v}ujmz5xw{q|qwvBtmn|C|m€|5qvlmv|B59@68x|C…wtƒuizoqv5jw||wuB8kuC…}tƒuizoqv5jw||wuB8kuC…55FD7{|tmFD)55cqn(o|m(u{w(98eFD{|tmF(72([|tm(Lmnqvq|qwv{(27(|ijtm6U{wVwzuit\ijtmƒu{w5{|tm5viumB*\ijtm(Vwzuit*Cu{w5|{|tm5zwjivl5{q‚mB8Cu{w5|{|tm5kwtjivl5{q‚mB8Cu{w5{|tm5vw{pwBm{Cu{w5{|tm5xizmv|B**Cu{w5xillqvo5it|B8ku(=6<X|CU{W5XIZI5UIZOQVB8KUCU{W5XIZI5UIZOQV5JW||WUB68889X|CU{W5XIOQVI|QWVBQLW5WZXPIVCNWV|5{Q‚MB9868X|CNWV|5NIUQTB*\QUM{(VM(ZWUIV*CU{W5IV{Q5TIVO}IOMB+8<88CU{W5NIZMI{|5TIVO}IOMB+8<88CU{W5JQLQ5TIVO}IOMB+868x|/FDlq~(kti{{E[mk|qwv9FDx(kti{{EU{wVwzuit({|tmE/uizoqv5tmn|B9@68x|/FD{xiv(tivoEQV({|tmE/nwv|5{q‚mB9968x|Cnwv|5niuqtB*\zmj}kpm|(U[*Cu{w5iv{q5tivo}iomBQV/FJ}i|tip(xzwoziu{xtq||mz(nqtm(|ms{(ms{|mzvit)DwBxFD7wBxFD7{xivFD7xFDx(kti{{EU{wVwzuit({|tmE/uizoqv5tmn|B9@68x|/FD{xiv(tivoEQV({|tmE/nwv|5{q‚mB9968x|Cnwv|5niuqtB*\zmj}kpm|(U[*Cu{w5iv{q5tivo}iomBQV/FDwBxF.vj{xCD7wBxFD7{xivFD7xFDx(kti{{EU{wVwzuit({|tmE/uizoqv5tmn|B9@68x|/FDj({|tmE/u{w5jqlq5nwv|5mqop|Bvwzuit/FD{xiv(tivoEQV({|tmE/nwv|5{q‚mB9968x|Cnwv|5niuqtB*\zmj}kpm|(U[*Cu{w5iv{q5tivo}iomBQV/FQvx}|B(D7{xivFD7jFD{xiv(tivoEQV({|tmE/nwv|5{q‚mB9968x|Cnwv|5niuqtB*\zmj}kpm|(U[*Cu{w5iv{q5tivo}iomBQV/F{|zqvo({mxizi|wz(ivolqqvx}|siv(tmi|(smjwizl(liv({mj}ip(nqtm(|ms{(ms{|mzvitDwBxFD7wBxFD7{xivFD7xFDx(kti{{EU{wVwzuit({|tmE/uizoqv5tmn|B9@68x|/FD{xiv(tivoEQV({|tmE/nwv|5{q‚mB9968x|Cnwv|5niuqtB*\zmj}kpm|(U[*Cu{w5iv{q5tivo}iomBQV/FDwBxF.vj{xCD7wBxFD7{xivFD7xFDx(kti{{EU{wVwzuit({|tmE/uizoqv5tmn|B9@68x|/FD}FD{xiv(tivoEQV{|tmE/nwv|5{q‚mB9968x|Cnwv|5niuqtB*\zmj}kpm|(U[*Cu{w5iv{q5tivo}iomBQV/Fkwv|wpqvx}|BDwBxFD7wBxFD7{xivFD7}FD7xFDx(kti{{EU{wVwzuit({|tmE/uizoqv5tmn|B9@68x|/FD{xiv(tivoEQV({|tmE/nwv|5{q‚mB9968x|Cnwv|5niuqtB*\zmj}kpm|(U[*Cu{w5iv{q5tivo}iomBQV/F{|zqvo({mxizi|wzB(›4œDwBxFD7wBxFD7{xivFD7xFDx(kti{{EU{wVwzuit({|tmE/uizoqv5tmn|B9@68x|/FD{xiv(tivoEQV({|tmE/nwv|5{q‚mB9968x|Cnwv|5niuqtB*\zmj}kpm|(U[*Cu{w5iv{q5tivo}iomBQV/FDwBxF.vj{xCD7wBxFD7{xivFD7xFDx(kti{{EU{wVwzuit({|tmE/uizoqv5tmn|B9@68x|/FD{xiv(tivoEQV({|tmE/nwv|5{q‚mB9968x|Cnwv|5niuqtB*\zmj}kpm|(U[*Cu{w5iv{q5tivo}iomBQV/F7255555555555555555555555D{xiv{|tmE/kwtwzB+NN>>88/Fnqtm6|€|D7{xivF27DwBxFD7wBxFD7{xivFD7xFDx(kti{{EU{wVwzuit({|tmE/uizoqv5tmn|B9@68x|/FD{xiv(tivoEQV({|tmE/nwv|5{q‚mB9968x|Cnwv|5niuqtB*\zmj}kpm|(U[*Cu{w5iv{q5tivo}iomBQV/FXzis|qs}u(xmuzwoziuiv(|mz{|z}s|}zilitip(xzis|qs}u(ivo(umvmvivosiv4xmv}p(lmvoiv(smr}|iv(liv(pit5pit(ivo(jiz}6DwBxFD7wBxFD7{xivFD7xFDx(kti{{EU{wVwzuit({|tmE/uizoqv5tmn|B9@68x|/FDj({|tmE/u{w5jqlq5nwv|5mqop|Bvwzuit/FD{xiv(tivoEQV({|tmE/nwv|5{q‚mB9968x|Cnwv|5niuqtB*\zmj}kpm|(U[*Cu{w5iv{q5tivo}iomBQV/FDwBxF.vj{xCD7wBxFD7{xivFD7jFD7xFDx(kti{{EU{wVwzuit({|tmE/uizoqv5tmn|B9@68x|/FDj({|tmE/u{w5jqlq5nwv|5mqop|Bvwzuit/FD{xiv(tivoEQV({|tmE/nwv|5{q‚mB9968x|Cnwv|5niuqtB*\zmj}kpm|(U[*Cu{w5iv{q5tivo}iomBQV/FW}|x}|B(D7{xivFD7jFD{xiv(tivoEQV({|tmE/nwv|5{q‚mB9968x|Cnwv|5niuqtB*\zmj}kpm|(U[*Cu{w5iv{q5tivo}iomBQV/F{i|}Dj({|tmE/u{w5jqlq5nwv|5mqop|Bvwzuit/F(D7jFi|i}Dj({|tmE/u{w5jqlq5nwv|5mqop|Bvwzuit/F(D7jFjmjmzixi(nqtmms{|mzvit(ivo(|mtip(|mzxq{ip5xq{ip(jmzli{izsiv({|zqvo({mxizi|wz(ivo(lquqv|iDwBxFD7wBxFD7{xivFD7xFDx(kti{{EU{wVwzuit({|tmE/uizoqv5tmn|B9@68x|/FD{xiv(tivoEQV({|tmE/nwv|5{q‚mB9968x|Cnwv|5niuqtB*\zmj}kpm|(U[*Cu{w5iv{q5tivo}iomBQV/FDwBxF.vj{xCD7wBxFD7{xivFD7xFDx(kti{{EU{wVwzuit({|tmE/uizoqv5tmn|B9@68x|/FD}FD{xiv(tivoEQV{|tmE/nwv|5{q‚mB9968x|Cnwv|5niuqtB*\zmj}kpm|(U[*Cu{w5iv{q5tivo}iomBQV/FKwv|wpw}|x}|BDwBxFD7wBxFD7{xivFD7}FD7xFDx(kti{{EU{wVwzuit({|tmE/uizoqv5tmn|B9@68x|/FD{xiv(tivoEQV({|tmE/nwv|5{q‚mB9968x|Cnwv|5niuqtB*\zmj}kpm|(U[*Cu{w5iv{q5tivo}iomBQV/FDwBxF.vj{xCD7wBxFD7{xivFD7xFDx(kti{{EU{wVwzuit({|tmE/uizoqv5tmn|B9@68x|/FD{xiv(tivoEQV({|tmE/nwv|5{q‚mB9968x|Cnwv|5niuqtB*\zmj}kpm|(U[*Cu{w5iv{q5tivo}iomBQV/F725555555555555555555D{xiv{|tmE/kwtwzB+NN>>88/Fnqtm96|€|D7{xivF27DwBxFD7wBxFD7{xivFD7xFDx(kti{{EU{wVwzuit({|tmE/uizoqv5tmn|B9@68x|/FD{xiv(tivoEQV({|tmE/nwv|5{q‚mB9968x|Cnwv|5niuqtB*\zmj}kpm|(U[*Cu{w5iv{q5tivo}iomBQV/FXzis|qs}u(xmuzwoziuiv|mz{|z}s|}z(ilitip(xzis|qs}u(ivo(umvmvivosivDwBxFD7wBxFD7{xivFD7xFDx(kti{{EU{wVwzuit({|tmE/uizoqv5tmn|B9@68x|/FD{xiv(tivoEQV({|tmE/nwv|5{q‚mB9968x|Cnwv|5niuqtB*\zmj}kpm|(U[*Cu{w5iv{q5tivo}iomBQV/FDwBxF.vj{xCD7wBxFD7{xivFD7xFDx(kti{{EU{wVwzuit({|tmE/uizoqv5tmn|B9@68x|/FD{xiv(tivoEQV({|tmE/nwv|5{q‚mB9968x|Cnwv|5niuqtB*\zmj}kpm|(U[*Cu{w5iv{q5tivo}iomBQV/F725555555555555555555D{xiv{|tmE/kwtwzB+NN>>88/Fnqtm:6|€|D7{xivF27DwBxFD7wBxFD7{xivFD7xFDx(kti{{EU{wVwzuit({|tmE/uizoqv5tmn|B9@68x|/FD{xiv(tivoEQV({|tmE/nwv|5{q‚mB9968x|Cnwv|5niuqtB*\zmj}kpm|(U[*Cu{w5iv{q5tivo}iomBQV/Fxmv}p(lmvoiv(smr}|ivliv(pit5pit(ivo(jiz}6DwBxFD7wBxFD7{xivFD7xFDx(kti{{EU{wVwzuitFDwBxF.vj{xCD7wBxFD7xFD7lq~FD7jwlFD7p|utF

Algoritma Program : Read the rest of this entry »





Tipe Data Lanjut, Pointer, & Operasi File : Jenis Mode Operasi File r, w, a, rt, wt, at, rb, wb, & ab

8 12 2009

7. Jelaskan jenis mode operasi file berikut:

  • r/rt
  • w/wt
  • a/at
  • r+/rt+
  • w+/wt+
  • a+/at+
  • rb
  • wb
  • ab
  • rb+
  • wb+
  • ab+

Penjelasan : Read the rest of this entry »





Tipe Data Lanjut, Pointer, & Operasi File : Penggunaan Fungsi fopen(), fclose(), fscan(), fprint(), fgets(), fputs(), fgetc(), fputc(), fread(), fwrite(), fseek(), & feof()

8 12 2009

6.  Jelaskan tujuan penggunaan fungsi-fungsi berikut dan contoh penggunaannya:

  • fopen()
  • fclose()
  • fscan()
  • fprintf()
  • fgets()
  • fputs()
  • fgetc()
  • fputc()
  • fread()
  • fwrite()
  • fseek()
  • feof()

Penjelasan : Read the rest of this entry »





Tipe Data Lanjut, Pointer, & Operasi File : Peran Stream – STDIN, STDOUT, STDERR, STDPRN, & POINTER FILE(FILE*)

8 12 2009

5. Berdasarkan ilustrasi skema di atas, jelaskan peran masing-masing stream berikut: STDIN, STDOUT, STDERR, STDPRN, dan POINTER FILE (FILE *) dalam proses input output di dalam pemrograman bahasa C!? Read the rest of this entry »





Tipe Data Lanjut, Pointer, & Operasi File : Pengalokasian Memori Dinamis untuk Tipe Data Struktur dalam Bahasa C & Perbedaan Operator Titik dan Panah untuk Pengaksesan Elemen Struktur

8 12 2009

3. Bagaimana cara dan contoh pengalokasian memori secara dinamis untuk sebuah tipe data struktur di dalam pemrograman bahasa C??

  • Suatu informasi / data dapat dialokasikan secara dinamis, ditempatkan dalam ruang memori yang dinamakan heap (ruang memori bebas / belum terpakai) yang dalam Turbo C terletak antara stack (ruang memori untuk alokasi parameter formal dan variabel lokal) dan area penyimpanan yang bersifat tetap (variabel global / eksternal) . Dengan memakai heap, suatu variabel dapat diciptakan atau dihapus selama eksekusi program. Fungsi – fungsi yang biasa digunakan :
  • Fungsi malloc() merupakan fungsi yang biasa dipakai untuk mengalokasikan (memesan) memori dalam heap.
  • Fungsi free() merupakan fungsi yang biasa digunakan untuk membebaskan ruang memori yang ditunjuk oleh pointer argumennya.

4. Jelaskan beda dan contoh penggunaan operator titik (.) dan panah (->) dalam pengaksesan suatu elemen struktur!? Read the rest of this entry »





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 : Read the rest of this entry »