
Esas Aji WOW
Selasa, 26 Maret 2013
Jumat, 22 Maret 2013
Rabu, 20 Maret 2013
C H A P T E R
3
BAB TUJUAN
• Untuk
belajar tentang fungsi dan bagaimana menggunakannya untuk menulis program
dengan modul terpisah
• Untuk
memahami kemampuan beberapa standar fungsi dalam C
• Untuk
memperkenalkan grafik struktur sebagai dokumentasi sistem alat
• Untuk
memahami bagaimana kontrol mengalir antara fungsi utama dan fungsi lainnya
• Untuk
mempelajari cara menyampaikan informasi ke fungsi menggunakan masukan argumen
• Untuk
mempelajari cara untuk mengembalikan nilai dari fungsi
Programmer
yang menggunakan metode pengembangan perangkat lunak untuk memecahkan masalah
jarang menangani setiap program baru sebagai peristiwa yang unik.
Programmer
juga menggunakan segmen solusi program yang sebelumnya sebagai blok bangunan
untuk membangun program baru.
Pada bagian
pertama dari bab ini, kami menunjukkan bagaimana Anda dapat menekan informasi
yang ada dan kode dalam bentuk fungsi yang telah ditetapkan untuk menulis
program.
Selain
menggunakan informasi yang ada, programmer dapat menggunakan top-down teknik
desain untuk menyederhanakan pengembangan algoritma dan struktur program yang
dihasilkan.
Untuk
menerapkan desain top-down, programmer dimulai dengan pernyataan luas dari
solusi masalah dan bekerja ke submasalah yang lebih rinci.
Gedung/bangunan
Program dari Informasi yang Ada
Programmer
jarang memulai dengan kertas kosong (atau layar kosong) ketika mereka
mengembangkan program.
Sering
beberapa-atau semua-dari solusi dapat dikembangkan dari informasi yang sudah
ada atau dari solusi untuk masalah lain, seperti yang kita menunjukkan di
bagian ini.
Hati-hati
mengikuti metode pengembangan perangkat lunak menghasilkan dokumentasi sistem
penting sebelum Anda bahkan mulai kode program.
Ini
dokumentasi sistem, yang terdiri dari deskripsi persyaratan data masalah ini
(dikembangkan selama fase Analisis) dan algoritma solusinya (dikembangkan
selama fase Desain), merangkum niat Anda dan proses berpikir.
Anda dapat
menggunakan dokumen ini sebagai titik awal dalam pengkodean program anda.
Sebagai
contoh, Anda dapat mulai dengan mengedit persyaratan data agar sesuai dengan
sintaks C untuk definisi makro konstan dan deklarasi variabel, seperti
ditunjukkan pada Gambar. 3,1 untuk program konversi mil-to-kilometer.
Pendekatan
ini sangat berguna jika dokumentasi dibuat dengan pengolah kata dan dalam
sebuah file yang dapat Anda edit.
Untuk
mengembangkan pernyataan dieksekusi dalam fungsi utama, pertama menggunakan
algoritma awal dan perbaikan sebagai komentar program.
Komentar
menggambarkan setiap langkah algoritma dan memberikan dokumentasi program yang
memandu Anda kode C.
Setelah
komentar berada di tempat dalam fungsi utama, Anda dapat mulai menulis laporan
C.
Tempatkan
kode C untuk langkah dimurnikan langsung di bawah langkah itu.
Untuk langkah
yang halus, baik mengedit penyempurnaan untuk mengubahnya dari bahasa Inggris
ke C atau menggantinya dengan kode C.
Kami
menggambarkan seluruh proses ini dalam studi kasus selanjutnya.
STUDI KASUS
Menemukan Area dan Lingkar
Lingkaran
MASALAH
Dapatkan
jari-jari lingkaran. Hitung dan menampilkan daerah lingkaran dan keliling.
ANALISIS
Jelas, input
masalah adalah jari-jari lingkaran. Dua output diminta: yang lingkaran daerah dan lingkar. Variabel ini
harus tipe double karena input dan output dapat berisi komponen pecahan. The
geometris hubungan radius lingkaran ke daerah dan lingkar tercantum di bawah
ini, bersama dengan data persyaratan.
DATA
PERSYARATAN
Konstan
masalah
PI 3,14159
masalah
Masukan
radius / *
radius lingkaran * /
masalah
Output
daerah / *
luas lingkaran * /
sirkum / *
keliling lingkaran * /
Rumus yang
relevan
luas
lingkaran =? * radius2
keliling
lingkaran = 2? * radius
DESAIN
Setelah
mengidentifikasi masukan masalah dan output, daftar langkah-langkah yang
diperlukan untuk memecahkan
masalah.
Perhatikan dekat dengan urutan langkah-langkah.
AWAL
ALGORITMA
1. Dapatkan
jari-jari lingkaran.
2. Hitung
daerah.
3. Hitung
keliling.
4. Tampilan
daerah dan keliling.
ALGORITMA
perbaikan
Selanjutnya
memperbaiki langkah-langkah yang tidak memiliki solusi yang jelas (langkah 2
dan 3).
Langkah 2
Penyempitan
2.1
Menetapkan PI * radius * radius ke daerah.
Langkah 3
Penyempitan
3.1 Menetapkan
2 * PI * radius ke circum.
IMPLEMENTASI
Gambar 3.2
menunjukkan program C sejauh ini. Fungsi utama daftar algoritma awal
dan yang
perbaikan sebagai komentar. Untuk menulis program akhir, mengkonversi perbaikan
(Langkah 2.1
dan 3.1) ke C dan menulis kode C untuk langkah dimurnikan (langkah 1 dan 4).
Gambar 3.3
menunjukkan program akhir.
GAMBAR 3.2
Garis Besar Program Lingkaran
1. / *
2. *
Menghitung dan menampilkan daerah dan keliling lingkaran
3. * /
4.
5. # include
/ * printf, definisi scanf * /
6. # define
PI 3,14159
7.
8. int
9. main
(void)
10. {
11. ganda
radius; / * input - radius lingkaran * /
12. ganda
daerah; / * Output - luas lingkaran * /
13. ganda
sirkum; / * Output - lingkar * /
14.
15. / *
Dapatkan jari-jari lingkaran * /
16.
17. / *
Hitung daerah * /
18. / *
Menetapkan PI * radius * radius ke daerah. * /
19.
20. / *
Hitung keliling * /
21. / *
Tetapkan 2 * PI * radius ke circum * /
22.
23. / *
Menampilkan daerah dan lingkar * /
24.
25. kembali
(0);
26. }
GAMBAR 3.3
Menghitung Luas dan Keliling Lingkaran
1. / *
2. *
Menghitung dan menampilkan daerah dan keliling lingkaran
3. * /
4.
5. # Include
/ * printf, definisi scanf * /
6. # Define
PI 3,14159
7.
8. int
9. main
(void) {
11. ganda
radius; / * input - radius lingkaran * /
12. ganda
daerah; / * Output - luas lingkaran * /
13. ganda
sirkum; / * Output - lingkar * /
14.
15. / *
Dapatkan jari-jari lingkaran * /
16. printf
("Masukkan jari-jari>");
17. scanf
("% Jika", & radius);
18.
19. / *
Hitung daerah * /
20. daerah =
PI * radius * radius;
21.
22. / *
Hitung keliling * /
23. sirkum =
2 * PI * radius;
24.
25. / *
Menampilkan daerah dan lingkar * /
26. printf
("Daerah ini% .4 f \ n", luas);
27. printf
("keliling adalah% .4 f \ n", circum);
28.
29. kembali
(0);
30. }
Masukkan radius>
5.0
Daerah ini
78,5397
Lingkar
adalah 31,4159
PENGUJIAN
Daerah dan
keliling untuk nilai radius dari 5,0. Jari-jari kuadrat adalah 25,0 dan? adalah
sekitar 3, sehingga nilai daerah tampaknya benar. Lingkar harus 10 kali?, Yang
juga merupakan Jumlah mudah untuk menghitung dengan tangan.
STUDI KASUS
Menghitung
Berat dari Batch of Cincin datar
Cara lain di
mana programmer menggunakan informasi yang ada adalah dengan memperluas solusi
untuk satu masalah untuk memecahkan lain.
MASALAH
Anda bekerja
untuk sebuah perusahaan hardware yang memproduksi mesin cuci datar.
Untuk
memperkirakan biaya pengiriman, perusahaan Anda membutuhkan sebuah program yang
menghitung berat kuantitas tertentu dari mesin cuci datar
DATA
PERSYARATAN
Konstan
masalah
PI 3,14159
masalah Input
ganda
hole_diameter / * diameter lubang * /
ganda
edge_diameter / * diameter tepi luar * /
Ketebalan
ganda / * ketebalan mesin cuci * /
ganda density
/ * kepadatan bahan yang digunakan * /
ganda
kuantitas / * jumlah pencuci dibuat * /
(GAMBAR)
masalah Output
ganda berat / * berat batch
pencuci * /
Program Variabel
ganda hole_radius / * radius
lubang * /
ganda edge_radius / * radius
tepi luar * /
ganda rim_area / * daerah rim
* /
ganda unit_weight / * berat 1
mesin cuci * /
Rumus yang relevan
luas lingkaran =? * Radius 2
radius lingkaran = diameter / 2
rim daerah = daerah lingkaran luar - daerah lubang
satuan berat = rim daerah * ketebalan * kerapatan
DESAIN
Kami daftar algoritma berikutnya, diikuti oleh
penyempurnaan Langkah 3 dan 4.
AWAL ALGORITMA
1. Dapatkan diameter dalam mesin cuci itu, diameter luar,
dan ketebalan.
2. Dapatkan kepadatan material dan kuantitas mesin cuci
diproduksi.
3. Hitung daerah rim.
4. Hitung berat satu mesin cuci datar.
5. Hitung berat batch mesin cuci.
6. Menampilkan berat batch mesin cuci.
Langkah 3 Penyempitan
3.1 Hitung hole_radius dan edge_radius.
3.2 rim_area adalah PI * edge_radius * edge_radius - PI *
hole_radius *
hole_radius
Langkah 4 Penyempitan
4.1 unit_weight adalah rim_area * ketebalan * kerapatan
IMPLEMENTASI
Untuk menulis program ini, mengedit persyaratan data
untuk menulis deklarasi variabel dan menggunakan algoritma awal dengan
perbaikan sebagai titik awal untuk laporan dieksekusi. Gambar 3.5 menunjukkan
program C.
GAMBAR 3.5 Program Pencuci datar
1. / *
2. * Menghitung berat batch mesin cuci datar.
3. * /
4.
5. # include / * printf, definisi scanf * /
6. # define PI 3,14159
7.
8. int
9. main (void)
10. {
11. ganda hole_diameter; / * input - diameter lubang * /
12. ganda edge_diameter; / * input - diameter tepi luar *
/
13. ganda ketebalan; / * input - ketebalan mesin cuci * /
14. kerapatan ganda, / * input - kepadatan bahan yang
digunakan * /
15. ganda kuantitas; / * input - jumlah pencuci dibuat *
/
16. berat ganda; / * Output - berat batch mesin cuci * /
17. hole_radius ganda; / * radius lubang * /
18. ganda edge_radius; / * radius tepi luar * /
19. ganda rim_area; / * daerah rim * /
20. ganda unit_weight; / * berat 1 mesin cuci * /
21.
22. / * Dapatkan diameter bagian, diameter luar, dan
ketebalan * /.
23. printf ("diameter batin dalam
centimeter>");
24. scanf ("% Jika", & hole_diameter);
25. printf ("Diameter luar dalam
centimeter>");
26. scanf ("% Jika", & edge_diameter);
27. printf ("Tebal dalam sentimeter>");
28. scanf ("% Jika", & tebal);
29.
30. / * Dapatkan kepadatan materi dan kuantitas
diproduksi. * /
31. printf ("Bahan kepadatan dalam gram per
sentimeter kubik>");
32. scanf ("% Jika", & kerapatan);
33. printf ("Jumlah dalam batch>");
34. scanf ("% Jika", & kuantitas);
35.
36. / * Hitung daerah rim. * /
37. hole_radius = hole_diameter / 2.0;
38. edge_radius = edge_diameter / 2.0;
39. rim_area = PI * edge_radius * edge_radius -
40. PI * hole_radius * hole_radius;
41.
42. / * Hitung berat mesin cuci datar. * /
43. unit_weight = rim_area * ketebalan * kepadatan;
44. / * Hitung berat batch mesin cuci. * /
45. berat = unit_weight * kuantitas;
46.
47. / * Menampilkan berat batch mesin cuci. * /
48. printf ("\ berat nTim diharapkan dari batch
adalah% .2 f", berat);
49. printf ("gram \ n.");
50.
51. kembali (0);
52. }
Batin diameter dalam sentimeter> 1.2
Outer diameter dalam sentimeter> 2,4
Tebal dalam sentimeter> 0,1
Bahan kepadatan dalam gram per sentimeter kubik> 7.87
Jumlah dalam batch> 1000
Berat diharapkan dari batch adalah 2670,23 gram.
PENGUJIAN
Untuk menguji program ini, menjalankannya dengan diameter
dalam dan luar seperti 2 cm dan 4 cm yang menyebabkan perhitungan mudah untuk
daerah rim (3 * PI persegi cm).
Anda dapat memverifikasi bahwa program ini menghitung
satuan berat yang benar dengan memasukkan 1 untuk kuantitas, dan kemudian
verifikasi bahwa berat batch benar dengan menjalankan untuk jumlah yang lebih
besar.
pemrograman
1. Tambahkan perbaikan ke garis program yang mengikuti
dan menulis program C akhir.
/ *
* Hitung jumlah dan rata-rata dari dua angka.
* /
# include / * printf, definisi scanf * /
int
main (void)
{
ganda satu, dua, / * masukan - nomor untuk memproses * /
Singkatnya, / * Output - jumlah satu dan dua * /
rata-rata; / * Output - rata-rata satu dan dua * /
/ * Dapatkan nomor dua. * /
/ * Hitung jumlah angka. * /
/ * Hitung rata-rata angka. * /
/ * Tampilan jumlah dan rata-rata. * /
kembali (0);
}
2. Menulis sebuah program C lengkap untuk Self-Periksa
Latihan 1.
3. Menulis sebuah program C lengkap untuk algoritma
penggajian revisi dikembangkan di Self-Periksa Latihan 3.
4. Asumsikan bahwa mesin cuci datar yang diproduksi oleh
stamping mereka keluar dari potongan persegi bahan ketebalan seragam.
Memperpanjang program mesin cuci untuk menghitung (a) jumlah sentimeter persegi
bahan yang diperlukan untuk memproduksi sejumlah tertentu mesin cuci datar dan
(b) berat bahan sisa.
3.2
3.2 Fungsi Perpustakaan
Predefined Fungsi dan Penggunaan Kembali Kode
Tujuan utama rekayasa perangkat lunak adalah untuk menulis kode bebas
dari kesalahan. Program fragmen yang telah ditulis dan diuji bila memungkinkan,
adalah salah satu cara untuk mencapai tujuan ini. Lain lebih sederhana,
"Mengapa reinvent the wheel?"
Bab 3 • Top-Down Desain dengan Fungsi
2. Menulis sebuah program C lengkap yang meminta pengguna untuk koordinat
dua
3-D poin (x 1, y 1, z 1) dan (x 2, y 2, z 2) dan menampilkan jarak antara
mereka
dihitung dengan menggunakan rumus berikut:
jarak = 2 (x1 - x2) 2 + (y1 - y2) 2 + (z1 - z2) 2
3,3 Top-Down Desain dan Struktur Charts
Pemisahan
masalah menjadi submasalah yang terkait adalah sama dengan
proses pemurnian algoritma. Studi kasus di bawah ini memperkenalkan
dokumentasi
Alat-struktur bagan-yang akan membantu Anda untuk melacak hubungan
antara submasalah.
STUDI KASUS Menggambar Diagram Sederhana
MASALAH
Anda ingin menarik beberapa diagram sederhana pada printer atau layar.
Dua contoh
adalah rumah dan tongkat perempuan pada Gambar. 3.9.
ANALISIS
Rumah ini dibentuk dengan menampilkan segitiga tanpa basis di atas
persegi panjang.
Sosok tongkat terdiri dari bentuk lingkaran, segitiga, dan segitiga tanpa
nya
dasar. Kita dapat menarik dua angka dengan empat komponen dasar:
■ ■ lingkaran garis sejajar
■ garis dasar ■ berpotongan garis
Bab 3 • Top-Down Desain dengan Fungsi
3.4 Fungsi tanpa argumen
Salah satu cara yang programmer menerapkan desain top-down dalam program
mereka adalah dengan mendefinisikan fungsi mereka sendiri. Seringkali, seorang
programmer akan menulis satu subprogram fungsi untuk setiap subproblem dalam
bagan struktur. Pada bagian ini, kita menunjukkan bagaimana menggunakan dan
mendefinisikan fungsi Anda sendiri, berfokus pada fungsi sederhana yang tidak
memiliki argumen dan mengembalikan nilai.
Tiga langkah algoritma dikodekan sebagai panggilan ke tiga subprogram
fungsi. Sebagai contoh,
pernyataan
draw_circle ();
memanggil fungsi (draw_circle) yang mengimplementasikan algoritma langkah
Menggambar lingkaran.
Kami memanggil fungsi draw_circle seperti kita memanggil fungsi printf.
Kosong
kurung setelah nama fungsi menunjukkan bahwa draw_circle tidak memerlukan
argumen.
Fungsi Panggilan Pernyataan (Fungsi tanpa argumen)
Sintaks: fname ();
CONTOH: draw_circle ();
INTERPRETASI: The fname fungsi disebut. Setelah fname selesai eksekusi,
Program pernyataan yang mengikuti pemanggilan fungsi akan dieksekusi.
Fungsi Prototip
Sama seperti pengenal lainnya di C, fungsi harus dideklarasikan sebelum
dapat dirujuk.
Salah satu cara untuk menyatakan fungsi adalah untuk menyisipkan
prototipe fungsi sebelum
Pemrograman
1. Menulis draw_parallel fungsi yang menarik garis paralel dan fungsi
draw_
persegi panjang yang menggunakan draw_parallel dan draw_base untuk
menggambar persegi panjang.
2. Menulis sebuah program lengkap untuk masalah yang dijelaskan dalam
Self-Periksa
Latihan 2.
3. Rewrite program mil-to-kilometer konversi ditunjukkan pada Gambar.
2.1, sehingga
itu termasuk fungsi yang menampilkan petunjuk kepada pengguna nya.
4. Tampilkan program revisi yang memanggil fungsi menginstruksikan untuk
daerah lingkaran dan
lingkar masalah.
3,5 Fungsi dengan Argumen input
Pemrogram menggunakan fungsi seperti blok bangunan untuk membangun
program besar.
Untuk dapat membangun program yang lebih menarik,
kita harus menyediakan fungsi dengan "tonjolan" dan
"cangkir" sehingga mereka dapat dengan mudah
saling berhubungan.
c. print_rboxed (find_circum (5.0))
d. find_area (1.0)
e. Skala (find_area (10,0), -2)
2. Jelaskan efek membalikkan argumen fungsi dalam panggilan untuk skala
ditunjukkan pada Contoh 3 .6-yaitu, skala (num_2, NUM_1).
3. Bagaimana penggunaan argumen fungsi memungkinkan untuk menulis lebih
besar, lebih
program yang berguna?
Pemrograman
1. Merevisi program datar mesin cuci (Gambar 3.5) untuk menggunakan
fungsi subprogram
find_area, find_rim_area, find_unit_weight, dan menginstruksikan.
Tampilkan
menyelesaikan program.
2. Menulis sebuah fungsi yang menghitung waktu satu harus meninggalkan
untuk mencapai
tertentu tujuan dengan waktu yang ditentukan. Anda harus berurusan hanya
dengan kedatangan
terjadi di kemudian hari yang sama dengan keberangkatan. Fungsi input
meliputi
kedatangan waktu sebagai integer pada jam 24-jam (8:30 PM = 2030), jarak
ke
tujuan dalam kilometer, dan kecepatan Anda berencana untuk rata-rata
dalam km / jam. Itu
hasil fungsi harus menjadi waktu keberangkatan yang diperlukan
(dibulatkan ke terdekat
menit) sebagai integer pada jam 24-jam. Juga, menulis sebuah program
driver untuk menguji
Anda fungsi.
3.6 Pengantar Komputer Grafis (Opsional)
Dalam layar komputer mode normal (disebut mode teks), kita menggunakan printf
untuk menampilkan
baris karakter ke perangkat output standar, atau konsol. Pada Bagian 3.3,
kita
menunjukkan bagaimana menulis fungsi C untuk menggambar tokoh tongkat
sederhana menggunakan mode teks.
Dalam bagian opsional beberapa dimulai dengan yang satu ini, kita
membahas tampilan lain
Modus (disebut modus grafis) yang memungkinkan program C untuk membuat
gambar atau grafis
pola dalam jendela output. Untuk menulis program grafis, Anda harus
belajar bagaimana
untuk menggunakan fungsi khusus grafis yang memungkinkan Anda untuk
menarik garis dan berbagai geometris
bentuk (misalnya, persegi panjang, lingkaran, elips) di manapun pada
layar Anda dan warna
dan menaungi mereka dengan cara yang berbeda.
Beberapa bahasa pemrograman termasuk perpustakaan grafis. Meskipun ada
ada perpustakaan grafis standar untuk C, beberapa perpustakaan telah
dikembangkan untuk digunakan
dengan C. Kami akan mempelajari sebuah perpustakaan grafis sederhana yang
disebut WinBGIm yang didasarkan pada
Borland Turbo Pascal Graphics, dengan penambahan kontrol mouse.
Perpustakaan ini
dikembangkan oleh Profesor Michael Utama dari Departemen Ilmu Komputer,
University of Colorado, Boulder. Prinsip-prinsip kita mempelajari akan
berlaku untuk grafis lain
Anda dapat menggunakan perpustakaan di masa depan.
line (200, 75, 300, 100);
pieslice (200, 75, 245, 295, 100);
line (200, 150, 100, 250);
line (200, 150, 300, 250);
bar (50, 250, 350, 300)
3. Menulis pernyataan untuk menambahkan dua jendela ke lantai dua rumah
di
Gambar. 3.30.
4. Memodifikasi program pada Gambar. 3.34 sehingga menarik rumah di pusat
layar dan dengan ukuran yang relatif sama terlepas dari palet yang
sebenarnya
dimensi.
Pemrograman
1. Menulis laporan untuk menggambar raket tenis di tempat yang tepat
dalam
angka untuk Self-Periksa Latihan 2. Pada akhir sebuah bar tipis,
menggambar sebuah lingkaran dan mengisi
dengan pola crosshatch hijau.
2. Menulis sebuah program grafis yang menarik kapal roket yang terdiri
dari segitiga (yang
kerucut) di atas persegi panjang (tubuh). Gambarlah sepasang garis
berpotongan di bawah
persegi panjang. Isi kerucut dengan pola menetas biru dan tubuh dengan
merah
Pola padat.
3. Menulis sebuah program yang menarik sepasang persegi panjang bersarang
di tengah
layar, mengisi persegi panjang bagian dalam merah dan persegi panjang
luar putih. Itu
persegi panjang luar harus memiliki lebar 1/4 dari dimensi X-dan tinggi
1/4
dari dimensi Y-layar. Tinggi dan lebar dari persegi panjang dalam
harus setengah dari persegi panjang luar.
4. Menulis sebuah program yang menarik laki-laki dan perempuan tongkat
side-by-side.
3.7 Kesalahan Pemrograman umum
Ingatlah untuk menggunakan direktif preprocessor # include untuk setiap
perpustakaan standar dari
yang Anda gunakan fungsi. Tempat prototipe untuk subprogram Anda sendiri fungsi
dalam file sumber sebelum fungsi utama, menempatkan definisi fungsi yang
sebenarnya
setelah fungsi utama.
Sintaks atau run-time kesalahan mungkin terjadi ketika Anda menggunakan
fungsi. Singkatan
tidak merangkum persyaratan untuk korespondensi argumen daftar.
Memberikan
Banyaknya diperlukan n argumen dan pastikan rder o argumen yang benar.
Pastikan bahwa setiap argumen fungsi adalah ype t benar atau konversi
yang ke
jenis yang benar akan kehilangan informasi. Untuk fungsi user-defined,
pastikan bahwa setiap
daftar argumen benar dengan membandingkannya dengan daftar parameter
formal dalam fungsi
pos atau prototipe.
Juga, berhati-hatilah dalam menggunakan fungsi yang terdefinisi pada
beberapa rentang nilai.
Misalnya, jika argumen untuk fungsi sqrt, log, atau log10 adalah negatif,
runtime
Kesalahan akan terjadi.
1. Mengembangkan solusi program Anda dari informasi yang ada. Gunakan
sistem
Dokumentasi berasal dari penerapan metode pengembangan perangkat lunak
sebagai
kerangka awal untuk program ini.
■ Mengedit persyaratan data untuk mendapatkan deklarasi fungsi utama.
■ Gunakan algoritma halus sebagai titik awal untuk laporan dieksekusi
dalam fungsi utama.
2. Jika masalah baru merupakan perpanjangan dari sebelumnya, memodifikasi
program sebelumnya
bukan dimulai dari awal.
3. Gunakan fungsi perpustakaan C untuk menyederhanakan perhitungan
matematika melalui
penggunaan kembali kode yang telah ditulis dan diuji. Menulis panggilan
fungsi
(Terdiri dari nama fungsi dan argumen) untuk mengaktifkan fungsi
perpustakaan.
Setelah fungsi mengeksekusi, hasil fungsi diganti untuk
fungsi panggilan.
4. Gunakan bagan struktur untuk menunjukkan hubungan antara bawahan
submasalah.
5. Memanfaatkan pemrograman modular dengan menulis subprogram fungsi yang
terpisah untuk
menerapkan subproblem yang berbeda dalam bagan struktur. Idealnya, utama
Anda
Fungsi akan terdiri dari urutan pernyataan panggilan fungsi yang
mengaktifkan
fungsi subprogram.
6. Anda dapat menulis fungsi tanpa argumen dan hasil untuk menampilkan
daftar
instruksi kepada pengguna program atau menggambar diagram di layar.
Gunakan fungsi
panggilan yang terdiri dari nama fungsi diikuti oleh sepasang kurung
kosong
() Untuk mengaktifkan fungsi seperti.
7. Menulis fungsi yang memiliki argumen input dan bahwa kembali hasil tunggal
untuk
melakukan perhitungan yang sama dengan yang dilakukan oleh fungsi
perpustakaan. Ketika
Anda memanggil fungsi seperti, setiap nilai argumen aktual ditugaskan
untuk yang sesuai
resmi parameter.
8. Tempat prototipe (mirip dengan judul fungsi) untuk setiap sub fungsi
sebelum fungsi utama, dan menempatkan definisi fungsi setelah
fungsi utama dalam sebuah file sumber. Gunakan (void) untuk menunjukkan
bahwa fungsi memiliki
tanpa parameter.
BARU C KONTRUK
Membangun Efek
Fungsi Prototipe (void fungsi tanpa argumen)
batal star_line (void); Menjelaskan star_line sebagai fungsi tanpa hasil
dan tidak ada argumen
TUGAS TANYA - JAWAB DENGAN DOSEN WALI
A.PROFESI DAN PROFESIONAL
Mungkin seorang mahasiswa kana bingun untuk menetukan pilihan setelah lulus di fakultas
teknik informatika,nah maka adakalanya saya bias berbagi,mungkin bias menjadi pencerahan buat anda yang masih bingung menentukan pilihan,nah berikut ini adalah beberapa pacuannya
Seorang yang sudah lulus di teknik informatika biasanya akan menjadi seorang :
- Programer
- System Analyst
- Hacker
- Peneliti atau dosen
- It Art/Disainer
- Dll.
Nah itulah yang mungkin bisa anda pertimbangkan dengan matang-matang.
Mungkin seorang mahasiswa kana bingun untuk menetukan pilihan setelah lulus di fakultas
teknik informatika,nah maka adakalanya saya bias berbagi,mungkin bias menjadi pencerahan buat anda yang masih bingung menentukan pilihan,nah berikut ini adalah beberapa pacuannya
Seorang yang sudah lulus di teknik informatika biasanya akan menjadi seorang :
- Programer
- System Analyst
- Hacker
- Peneliti atau dosen
- It Art/Disainer
- Dll.
Nah itulah yang mungkin bisa anda pertimbangkan dengan matang-matang.
B.ANCAMAN YANG HARUS DI LAKUKAN UNTUK SEORANG IT AGAR BISA MENGASILKAN MATERI
Ancaman yang harus di lakukan seorang It adalah,melakukan hal yang memang harus di lakukan dan hanya ora IT yang mampu malakukan penanganannya,misalnya dengan membuat virus yang susah untuk di tangani dan kita mebuat penangannya (anti virus),
Kamis, 14 Maret 2013
Selasa, 04 Desember 2012
factorisasi menggunakan C++
Metode Faktorisasi Numerik (c++)
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>
#include <math.h>
main()
{
FILE *stream;
int j, i;
double A0, A1, A2;
double b01, b0, a1, a0, tempb0;
char jawab, ganda, filedata[20];
do
{
i = 1;
b0 = 0.0;
cout << "\nMetode Faktorisasi P3(x) = P(1,2)\n";
cout << "================================\n\n";
cout << "\nMasukkan nama file penyimpanan Data = ";
cin >> filedata;
stream = fopen(filedata, "w+");
cout << "\nMasukkan Nilai A2 = ";
cin >> A2;
cout << "\nMasukkan Nilai A1 = ";
cin >> A1;
cout << "\nMasukkan Nilai A0 = ";
cin >> A0;
cout <<"\nBerapa kali Iterasi = ";
cin >> j;
printf("\n\n\t---------------------------------\n");
printf("\titerasi\t b0\t a1\t a0\n");
printf("\t---------------------------------\n");
fprintf(stream,"\n\n\t---------------------------------\n");
fprintf(stream,"\titerasi\t b0\t a1\t a0\n");
fprintf(stream,"\t---------------------------------\n");
do
{
if(b0 != 0)
{
a1 = A2 - b0;
a0 = A1 - (a1*b0);
b01 = A0/a0;
if (i != j)
{
printf("\t %d\t%.3f\t%.3f\t%.3f\n", i, b01, a1, a0);
fprintf(stream,"\t %d\t%.3f\t%.3f\t%.3f\t\n", i, b01, a1,
a0);
}
else
{
break;
}
}
else
{
a1 = A2 - b0;
a0 = A1 - (a1*b0);
printf("\t %d\t%.3f\t%.3f\t%.3f\n", i, b0, a1, a0);
fprintf(stream,"\t %d\t%.3f\t%.3f\t%.3f\t\n", i, b0, a1, a0);
if (a0 != 0)
{
b01 = A0/a0;
}
else
{
break;
}
}
tempb0 = b0;
b0 = b01;
b01 = tempb0;
i++;
}while( i <= j);
printf("\t---------------------------------\n");
fprintf(stream,"\t---------------------------------\n");
if (a0 != 0)
{
do
{
} while(ganda != 't');
}
else
{
printf("\n\na0 = %.2f not valid (error floating point)\n\n", a0);
}
} while(jawab != 't');
fclose(stream);
return 0;
}
Rabu, 24 Oktober 2012
Langganan:
Postingan (Atom)
Tokoh masyarakat mampu menggulingkan rezim Soeharto (1998) yang akhirnya mengundurkan diri sebagai dari kursi kepresidenan. Kampus tempat lahirnya para aktivis, intelektual, dan pempimpin masa depan telah memberikan perannya yang strategis di tengah masyarakat.
20/01/2012
Teknologi komputer berada di berbagai perangkat. Contoh : Mesin ATM, kamera digital, teknologi fuel injection, telephone dll. Pemrograman memberikan perintah kepada mesin
untuk melaksanakan instruksi Perkuliahan ini akan memberikan pemahaman dasar tentang pemrograman komputer, sehingga mahasiswa dapat memahami konsep pemrograman.
processor, harddisk, dll. Hardware = dapat disentuh HardwareSoftware, Software komputer
direpresentasikan sebagai program. Program membuat komputer beroperasi. Contoh : Sistem Operasi, Game, Word processing application. Program adalah seperangkat aturan yang menentukan apa yang harus dilakukan oleh komputer.
Ada beberapa perangkat utama di komputer Keyboard Mouse Hard drive External drive RAM CPU
Digitalisasi informasi berarti menggunakan angka untuk merepresentasikan berbagai hal, tidak hanya angka. Beberapa elemen data digital antara lain : suara,video, warna, teks dan gambar.
Data yang berbentuk digital dapat dikelola oleh mesin. Representasi digital menggunakan dua angka yaitu 1 dan 0.
Komputer mengenal dua digit yang disebut binary digits yaitu 0 dan 1. 8 bit = 1 byte. Bilangan 0 dan 1 digunakan untuk mendeskripsikan data digital, contoh : foto digital, musik digital, password, dll. Komputer : Mesin Elektronik Komputer adalah mesin elektronik. Untuk mengoperasikan diperlukan listrik. Sumber listrik berupa batery atau sumber listrik lainnya
Bit 0 dan 1 dapat digunakan untuk merepresentasikan status stop dan flow. Status 0 dan 1 digunakan pada bahasa mesin. Bahasa mesin merupakan bahasa dasar sebagai perintah terhadap apa yang harus dikerjakan oleh mesin.
Bahasa komputer merupakan hal penting untuk berkomunikasi antara manusia dan mesin tentang apa yang dibutuhkan, diinginkan. Computer languages are similar to spoken languages in that you must use them very precisely so that you are not misunderstood by the computer.
Setiap bahasa mempunyai grammar, atau syntak, yang harus diikuti agar komputer dapat memahami terhadap bahasa yang digunakan. Berikut contoh bahasa pada real world : English: Hello, how are you? French: Bonjour! C¸ a va bien? German: Guten tag. Wie geht’s? Japanese: Konnichi wa. O genki desu ka?
Seorang programmer harus mempelajari “bagaimana berbeicara” dengan komputer. Contoh beberapa bahasa pemrograman Statement di atas arti nya : Apabila nilai pada variabel x
lebih besar dari 5, maka akan dicetak kata “greater.” Level Bahasa Semua bahasa pemrograman harus ditranslate ke bahasa mesin, sebagai bahasa yang dikenal oleh mesin. Terdapat dua level bahasa pemrograman : Bahasa tingkat tinggi dan bahasa tingkat rendah.
A. Bahasa Tingkat Tinggi
Bahasa tingkat tinggi adalah bahasa di atas bahasa mesin. Bahasa tingkat tinggi menggunakan kata-kata dalam bahasa inggris untuk memberikan perintah pada komputer. Programmer bahasa tingkat tinggi tidak perlu tahu apa-apa tentang bagaimana komputer itu menyelesaikan
pekerjaannya. Program ditulis dalam bahasa tingkat tinggi berjalan lebih lambat pada komputer karena bahasa ini perlu diterjemahkan ke dalam bahasa mesin. Contoh : Pascal, Cobol, Fortran, BASIC, C, Cþþ, Perl, and Java.
B. Bahasa Tingkat Rendah
Posisi bahasa tingkat rendah persis di atas bahasa mesin. Dengan demikian, mereka tidak mengalami penterjemahan sebanyak bahasa tingkat tinggi. Namun, relatif lebih sulit dipahami karena mereka bergantung pada pemahaman yang lebih pada pekerjaan internal mesin
Bahasa Assembly adalah bahasa tingkat rendah. Untuk seorang pemrogram BASIC, C mungkin dianggap sebagai bahasa tingkat rendah, karena memungkinkan programmer untuk memiliki kontrol lebih pada tingkat yang lebih rendah daripada programmer BASIC.
Translators memecah tingkat tinggi dan kode bahasa tingkat rendah ke dalam bahasa mesin yang dimengerti oleh prosesor tertentu dalam CPU. Ada dua jenis penerjemah: interpreter dan compiler Interpreter akan menerjemahkan satu baris kode pada satu waktu dan menghasilkan pesan kesalahan pada saat itu juga. Compiler menerjemahkan seluruh file kode sekaligus, tidak hanya baris demi baris. Compiler tidak akan menghasilkan pesan kesalahan hingga semua kode telah diterjemahkan. File asli atau program yang ditulis programmer disebut source code. kode Objek adalah hasil terjemahan dan merupakan bahasa mesin versi dari file asli.
C++ adalah contoh dari sebuah bahasa dikompilasi, sementara BASIC adalah satu ditafsirkan.
E. Algoritma : The basic for all design to solution of programming problems Sebuah algoritma adalah seperangkat langkah-langkah untuk memecahkan masalah. Langkah-langkah ini dapat mengulang dan bisa melibatkan beberapa keputusan, seperti pilihan dari dua atau lebih hal. Setiap langkah algoritma harus mengikuti langkah sebelumnya. Jika perlu, ulangi beberapa langkah dan melewatkan langkah yang lain jika keputusan panggilan untuk tindakan itu.
Berikut contoh algoritma Sholat Tarawih di Masjid.
1. Pergi ke Masjid.
2. Ambil air wudlu.
3. Sholat Isya’.
4. Sholat Tarawih.
5. Pulang.
Suatu algoritma memiliki tiga bagian, yaitu: Langkah yang dibatasi. Langkah yang dapat diulangi Langkah yang memungkinkan pengambilan keputusan. Latihan. Buat algoritma berdasarkan kebiasaan seharihari anda.
Menentukan suatu masalah atau tugas dan merencanakan suatu algoritma untuk menangani tugas tersebut. Menggunakan bahasa pemrograman untuk mengekspresikan algoritma yang sehingga komputer akan dapat mengeksekusi kode tersebut. Kebanyakan orang berpikir tentang pemrograman sebagai hanya tentang baris kode-simbol dan script. Namun pemrogranan lebih dari kode, namun, yang merupakan cara berpikir tentang masalah dan merancang solusi yang kemudian dapat ditulis dalam bahasa pemrograman.
Komputer terdiri dari : Hardware dan Software
Komputer merupakan perangkat elektronik yang dapat mengenali perubahan 0 dan 1 (dasar
digitizing)
Pemrograman bergantung pada kemampuan programmer untuk menulis baris perintah
Ada 2 level bahasa pemrograman : High-Level Language dan Low-Level Language
1. Computer program -> serangkaian instruksi untuk komputer
2. Stored program concept -> instruksi tertulis dalam program yang disimpan dan dijalankan oleh CPU ketika dibutuhkan
3. Programing -> Proses penulisan (coding) program
4. Programer -> Orang yang melakukan programing.
|
V
Coding
|
V
Program komputer
|
V
Stored
int main ()
{
statemen-statemen;
return 0;
}
Misalkan bilangan desimal yang akan dikonversikan adalah 25 basis 10.
Maka langkah penyelesaiannya adalah :
25 : 2 = 12,5 —> jawaban ini memang benar, namun tahapan tersebut bukanlah tahapan yang kita inginkan, tahapan yang tepat adalah sebagai berikut :
12 : 2 = 6 sisa 0 —> walaupun sisa nol jangan lupa tetap ditulis ya
6 : 2 = 3 sisa 0
3 : 2 = 1 sisa 1
1 : 2 = 0 sisa 1
0 : 2 = 0 sisa 0 —> (end)
5 : 8 = 0 sisa 0
0 : 8 = 0 sisa 0 —> (end)
Gimana udah bisa kan?
bilangan desimal yang akan kita konversikan adalah 243 basis 10. Karena heksadesimal berbasis 16 maka kita bagi dengan angka 16 ya
15 : 15 = 0 sisa F —> eits… karena ini bilangan heksadesimal maka bukan 15 yang kita tulis tapi F ya jangan lupa
0 : 16 = 0
jadi hasil konversinya adalah F3 basis 16. Gimana, mudahkan?
Proses konversi bilangan biner ke bilangan desimal adalah proses perkalian setiap bit pada bilangan biner dengan perpangkatan 2, dimana perpangkatan 2 tersebut berurut dari kanan ke kiri bit bernilai (^=untuk pangkat) 2^0 sampai 2^n. Langsung saja ya dol.. Bilangan biner yang akan kita konversikan adalah 11001 basis 2. Misal bilangan tersebut posisinya saya rubah dari kanan ke kiri menjadi seperti ini
1
0
0 —> ini semua disebut bit
1
1
(paham kan dol?)
1 —> 1 x 2^0 = 1
0 —> 0 x 2^1 = 0
0 —> 0 x 2^2 = 0
1 —> 1 x 2^3 = 8
1 —> 1 x 2^4 = 16 —> perhatikan, semakin kebawah nilainya perpangkatannya semakin besar
Jadi hasil dari konversi tersebut adalah 1+0+0+8+16 = 25 basis 10. Kalau 25 basis 10 ini kita konversikan ke biner hasilnya sama gak ya?
Desimal beres. Sekarang masuk ke oktal. Untuk merubah bilangan biner ke bilangan oktal, perlu diperhatikan bahwa setiap bilangan oktal mewakili 3 bit dari bilangan biner. Maka jika kita memiliki bilangan biner 110111 basis 2. Langkah pertama dalam penyelesaiannya adalah, kita pisahkan setiap 3 bit dari kanan ke kiri, maka akan kita dapat 110 dan 111, sekarang kita lakukan proses konversi terpisah dulu ke desimal. 110 dikonversikan menjadi 6 dan 111 dikonversikan menjadi 7. maka hasilnya adalah 67 basis 8. (iya itu mudah karena kebetulan keika kita bagi 3 bit dari kanan ke kiri itu pas, coba kalau hanya ada 5 bit? Jangan bingung.. ketika kita menemukan soal yang hanya mempunyai 5 bit saja, maka kita tambah saja angka 0 didepannya (ingat! di bab sebelumnya kita menghilangkan angka 0 didepannya kan
Lanjut lagi ayo dol, sekarang ke heksadesimal
1110 = 14 dan 0010 = 2. Nah, ingat kalau 14 itu dilambangkan apa di heksadesimal? Ya, 14 dilambangkan dengan E basis 16. Dengan demikian, hasil konversinya adalah E2 basis 16.
Ini tidak begitu susah kok, tinggal temen temen kalikan aja dengan perpangkatan 8. Misal kita punya bilangan Oktal 71 basis 8, bilangan ini akan kita konversikan ke bilangan desimal, gini ni temen temen caranya. susunannya kita ubah dulu ya menjadi
1
7
Setelah kita rubah susunannya, terus kita mulai deh mengkonversikan,
1 x 8^0= 1
7 x 8^1 = 56
Langsung masuk ke contoh aja ya. Aku punya bilangan oktal 57 basis 8, bilangan ini mau aku rubah ke bilangan biner. Cara mengkonversikannya gini dol lakukan proses konversi setiap bilangan tersebut masing2 ke 3 bit bilangan biner. Nah, angka 5 jika dikonversi ke biner menjadi….? sip, bener deh jawabannya 1012. Nah, 7, jika dikonversi ke biner menjadi…? iya bener banget 1112. Maka hasilnya adalah 101111 basis 2. Gimana mudah kan?
Untuk konversi oktal ke heksadesimal, kita akan membutuhkan perantara, yaitu bilangan biner. Maksudnya? Maksudnya adalah kita konversi dulu oktal ke biner, lalu konversikan nilai biner tersebut ke nilai heksadesimalnya. Nah, baik yang konversi oktal ke biner maupun biner ke heksadesimal kan udah dijelaskan. Coba buktikan, bahwa bilangan oktal 72 basis 8 jika dikonversi ke heksadesimal menjadi 3A basis 16. Bisa kan? Bisa dong…
Untuk proses konversi ini, caranya sama saja dengan proses konversi biner ke desimal, hanya saja kali ini perpangkatan yang digunakan adalah perpangkatan 16, bukan perpangkatan 2. Sebagai contoh, aku mau mengkonversikan bilangan heksa C8 basis 16. Maka aku ubah dulu susunan bilangan heksa tersebut, mulai dari kanan ke kiri, sehingga menjadi sebagai berikut :
8
C
terus dilakukan proses perkalian dengan perpangkatan 16, sebagai berikut :
8 x 160 = 8
Maka diperolehlah hasil konversinya bernilai 8 + 192 = 200 basis 10
Dalam proses konversi heksadesimal ke biner, setiap simbol dalam heksadesimal mewakili 4 bit dari biner. Misalnya aku ingin melakukan proses konversi bilangan heksa B7 basis 16 ke bilangan biner Maka setiap simbol di bilangan heksa tersebut aku konversi terpisah ke biner. Ingat, B basis 16 merupakan simbol untuk angka desimal 11 basis 10. Nah, desimal 1110 jika dikonversi ke biner menjadi 1011 basis 2, sedangkan desimal 7 basis 10 jika dikonversi ke biner menjadi 0111 basis 2. Maka bilangan binernya adalah 10110111 basis 2, atau kalau dibuat ilustrasinya seperti berikut ini :
B = 7 —-> bentuk heksa
Nah, sama seperti konversi oktal ke heksadesimal, kita membutuhkan bantuan bilangan biner. Lakukan terlebih dahulu konversi heksadesimal ke biner, lalu konversikan nilai biner tersebut ke oktal. Sebagai latihan, buktikan bahwa nilai heksadesimal E7 basis 16 jika dikonversi ke oktal menjadi 347 basis 8. Hehe…Kamu bisa!!!
#include
{
short int j, hasil, i;
{
hasil=x%2; //mencari nilai sisa pembagian x dengan 2
x=(x-hasil)/2; //nilai x dikurangi dengan variabel ‘hasil’
i–; //decrement nilai i
bin[i]=hasil; //nilai biner dari x (yang merupakan nilai dari variabel ‘hasil’, dimasukkan ke array bin satu per satu
}
{
printf(“%d”, bin[j]); //cetak nilai dari array ‘bin[]‘
if ((j+1) % 4 == 0) //sewaktu mencetak, beri spasi setiap 4 bit
printf(” “);
}
}
{
printf(“Nilai desimal x = “);
scanf(“%d”,&x); //ambil nilai yang diketik dan simpan pada alamat x
}