Modul 2 teknik pemrograman mengenal bahasa c dan compilerBeny Abd
Mengenal bahasa C sebagai salah satu bahasa pemrograman. Mengidentifikasi struktur penulisan program bahasa C. Software yang digunakan sebagai compiler, cara instalasi dan penggunaan Compiler.
Perbedaan Orde Baru dan Reformasi hingga saat ini masih menjadi topik yang menarik untuk dikaji, tidak sedikit yang membincangkannya dalam forum-forum ilmiah atau hanya sekedar obrolan ditengah masyarakat. Masih besarnya pengaruh dari kedua masa tersebut tidak terlepas dari banyaknya peristiwa-peristiwa bersejarah bagi bangsa Indonesia. Sebenarnya apa yang dimaksud dengan Orde Baru maupun Reformasi, dan apa pula perbedaan diantara keduanya? Berikut rangkuman semua penjelasan diatas akan disajikan dalam bentuk tabel.
Orde Baru Reformasi
Tahun 1966 - 1998 1998 - sekarang
Kebebasan dalam Menyampaikan pendapat Terbatasnya kebebasan untuk menyampaikan pendapat. Teratasnya ruang gerak pres. Masyarakat dan pers bebas menyampaikan pendapatnya termasuk memberikan saran sampai kritik kepada pemerintah secara terbuka.
Hukum Muncul ketidakadilan dan adanya rekayasa pada proses peradilan. Pembagian kekuasaan dapat hukum tidak sesuai dengan UUD 45. Penyimpangan diperbaikisecara menyeluruh, batasanwewenang kekuasaan antar lembaga Legislatif, Eksekutif serta Yudikatif diatur dengan tegas.
Ekonomi Masa perkembangan ekonomi bangsa Indonesia dan pembangunan nasional sertabekerja sama dengan negara lain lancar. Banyak prestasi yang dicapai khususnya dari bidang pertanian. Merajalelanya praktik KKN hingga kesenjangan ekonomi yang semakin melebar. Membuat kebijakan kebijakan untuk keluar dari krisis.
Ketimpangan ekonomi jauh lebih tinggi.
Politik Terjadi pengelompokan danpenyederhanaan partai politikdengan pelaksanaan kepartaian didasarkan pada persamaan program.
Pemilu diikuti oleh 3 partai politik dengan asas Langsung, Umum, Bebas dan Rahasia
Bermunculannya berbagai partai politik dengan latarbelakang yang berbeda baik dari segi golongan maupun ideology.
Pemilu diikuti oleh 48 partai politik tiga partai politik dengan asas Langsung, Umum, Bebas, Rahasia, Jujur dan Adil.
Pendidikan Banyak mengukir prestasi dengan program-program yang berperan besar pada perkembangan pendidikan di Indonesia serta pembangun lembaga-lembaga pendidikan yang terbatas untuk kalangan tertentu.
Fasilitas pendidikan terbuka untuk semua kalangan termasuk untuk etnis Cina
Modul 2 teknik pemrograman mengenal bahasa c dan compilerBeny Abd
Mengenal bahasa C sebagai salah satu bahasa pemrograman. Mengidentifikasi struktur penulisan program bahasa C. Software yang digunakan sebagai compiler, cara instalasi dan penggunaan Compiler.
Perbedaan Orde Baru dan Reformasi hingga saat ini masih menjadi topik yang menarik untuk dikaji, tidak sedikit yang membincangkannya dalam forum-forum ilmiah atau hanya sekedar obrolan ditengah masyarakat. Masih besarnya pengaruh dari kedua masa tersebut tidak terlepas dari banyaknya peristiwa-peristiwa bersejarah bagi bangsa Indonesia. Sebenarnya apa yang dimaksud dengan Orde Baru maupun Reformasi, dan apa pula perbedaan diantara keduanya? Berikut rangkuman semua penjelasan diatas akan disajikan dalam bentuk tabel.
Orde Baru Reformasi
Tahun 1966 - 1998 1998 - sekarang
Kebebasan dalam Menyampaikan pendapat Terbatasnya kebebasan untuk menyampaikan pendapat. Teratasnya ruang gerak pres. Masyarakat dan pers bebas menyampaikan pendapatnya termasuk memberikan saran sampai kritik kepada pemerintah secara terbuka.
Hukum Muncul ketidakadilan dan adanya rekayasa pada proses peradilan. Pembagian kekuasaan dapat hukum tidak sesuai dengan UUD 45. Penyimpangan diperbaikisecara menyeluruh, batasanwewenang kekuasaan antar lembaga Legislatif, Eksekutif serta Yudikatif diatur dengan tegas.
Ekonomi Masa perkembangan ekonomi bangsa Indonesia dan pembangunan nasional sertabekerja sama dengan negara lain lancar. Banyak prestasi yang dicapai khususnya dari bidang pertanian. Merajalelanya praktik KKN hingga kesenjangan ekonomi yang semakin melebar. Membuat kebijakan kebijakan untuk keluar dari krisis.
Ketimpangan ekonomi jauh lebih tinggi.
Politik Terjadi pengelompokan danpenyederhanaan partai politikdengan pelaksanaan kepartaian didasarkan pada persamaan program.
Pemilu diikuti oleh 3 partai politik dengan asas Langsung, Umum, Bebas dan Rahasia
Bermunculannya berbagai partai politik dengan latarbelakang yang berbeda baik dari segi golongan maupun ideology.
Pemilu diikuti oleh 48 partai politik tiga partai politik dengan asas Langsung, Umum, Bebas, Rahasia, Jujur dan Adil.
Pendidikan Banyak mengukir prestasi dengan program-program yang berperan besar pada perkembangan pendidikan di Indonesia serta pembangun lembaga-lembaga pendidikan yang terbatas untuk kalangan tertentu.
Fasilitas pendidikan terbuka untuk semua kalangan termasuk untuk etnis Cina
Sebuah buku foto yang berjudul Lensa Kampung Ondel-Ondelferrydmn1999
Indonesia, negara kepulauan yang kaya akan keragaman budaya, suku, dan tradisi, memiliki Jakarta sebagai pusat kebudayaan yang dinamis dan unik. Salah satu kesenian tradisional yang ikonik dan identik dengan Jakarta adalah ondel-ondel, boneka raksasa yang biasanya tampil berpasangan, terdiri dari laki-laki dan perempuan. Ondel-ondel awalnya dianggap sebagai simbol budaya sakral dan memainkan peran penting dalam ritual budaya masyarakat Betawi untuk menolak bala atau nasib buruk. Namun, seiring dengan bergulirnya waktu dan perubahan zaman, makna sakral ondel-ondel perlahan memudar dan berubah menjadi sesuatu yang kurang bernilai. Kini, ondel-ondel lebih sering digunakan sebagai hiasan atau sebagai sarana untuk mencari penghasilan. Buku foto Lensa Kampung Ondel-Ondel berfokus pada Keluarga Mulyadi, yang menghadapi tantangan untuk menjaga tradisi pembuatan ondel-ondel warisan leluhur di tengah keterbatasan ekonomi yang ada. Melalui foto cerita, foto feature dan foto jurnalistik buku ini menggambarkan usaha Keluarga Mulyadi untuk menjaga tradisi pembuatan ondel-ondel sambil menghadapi dilema dalam mempertahankan makna budaya di tengah perubahan makna dan keterbatasan ekonomi keluarganya. Buku foto ini dapat menggambarkan tentang bagaimana keluarga tersebut berjuang untuk menjaga warisan budaya mereka di tengah arus modernisasi.
UNTUK DOSEN Materi Sosialisasi Pengelolaan Kinerja Akademik DosenAdrianAgoes9
sosialisasi untuk dosen dalam mengisi dan memadankan sister akunnya, sehingga bisa memutakhirkan data di dalam sister tersebut. ini adalah untuk kepentingan jabatan akademik dan jabatan fungsional dosen. penting untuk karir dan jabatan dosen juga untuk kepentingan akademik perguruan tinggi terkait.
ppt profesionalisasi pendidikan Pai 9.pdfNur afiyah
Pembelajaran landasan pendidikan yang membahas tentang profesionalisasi pendidikan. Semoga dengan adanya materi ini dapat memudahkan kita untuk memahami dengan baik serta menambah pengetahuan kita tentang profesionalisasi pendidikan.
2. Pada dasarnya komputer adalah mesin yang
tidak dapat melakukan apa-apa, sehingga
diperlukan serangkaian instruksi yang
diberikan kepada komputer untuk dapat
bekerja dan memecahkan suatu masalah.
Langkah-langkah yang dilakukan dalam
memberikan instruksi kepada komputer
untuk memecahkan masalah disebut juga
Pemrograman Komputer.
3. Program adalah kumpulan instruksi yang
digunakan untuk mengatur komputer agar
melakukan suatu tindakan tertentu.
Definisi lain Program yaitu kata, ekspresi,
pernyataan atau kombinasinya / kumpulan
statement-statement yang dirangkai dan disusun
menjadi satu kesatuan prosedur yang berupa
urutan langkah-langkah logis penyelesaian
masalah yang diimplementasi kan dengan
penggunaan bahasa pemrograman sehingga
dapat dieksekusi oleh komputer dan dilihat hasil
akhirnya.
4. Pada dasarnya komputer mencakup 3
aspek penting, berupa Perangkat
Keras (hardware), Perangkat Lunak
(software) berupa program, serta
Perangkat Akal (brainware) atau orang
yang berperan dalam operasi
komputer maupun pengembangan
Perangkat Lunak.
5. Dalam Pemrograman Komputer, untuk
memberikan suatu instruksi harus digunakan
bahasa yang dimengerti oleh komputer tersebut,
yang disebut juga Bahasa Komputer. Dengan
bahasa ini, komputer akan mampu memahami
dan mengerti perintah-perintah yang diberikan.
Bahasa Komputer biasa juga disebut dengan
Bahasa Pemrograman Komputer, yaitu suatu
prosedur atau tata cara penulisan program, yang
dalam hal ini adalah kata, ekspresi, pernyataan
atau kombinasi semuanya yang disusun dan
dirangkai berupa urutan langkah-langkah
penyelesaian masalah.
6. Bahasa Pemrograman Komputer
secara garis besar dapat
dikelompokkan menjadi 2:
1. Bahasa Beraras Rendah (Low Level
Language)
2. Bahasa Beraras Tinggi (High Level
Language)
7. Komputer adalah mesin digital yang hanya
dapat mengenal kondisi ada arus listrik (biasa
dilambangkan dengan 1) atau tidak ada arus
listrik (biasa dilambangkan dengan 0)
Dengan kata lain, harus digunakan sandi 0
atau 1 untuk melakukan pemrograman
komputer. Bahasa Pemrograman yang
menggunakan sandi 1 atau 0 ini disebut
dengan Bahasa Mesin.
8. Bahasa Mesin sangat susah untuk dimengerti,
maka kemudian muncul ide untuk
melambangkan untaian sandi 0 dan 1 dengan
singkatan kata yang lebih mudah dipahami
oleh manusia. Singkatan kata ini kemudian
disebut Mnemonic Code.
Bahasa Pemrograman yang menggunakan
singkatan kata (Mnemonic Code) ini disebut
dengan Bahasa Assembly.
9. Contohnya, dalam prosesor Intel terdapat
perintah 0011 1010 0000 1011. Perintah ini
sama artinya dengan perintah assembly CMP AL,
0D, yang artinya bandingkan nilai register AL
dengan 0D. CMP adalah singkatan dari CoMPare.
Perangkat lunak yang mengkonversikan
perintah-perintah assembly ke dalam bahasa
mesin sering disebut juga assembler.
Bahasa Mesin dan Bahasa Assembly termasuk ke
dalam Bahasa Beraras Rendah (Low Level
Language).
10. Pemrograman dengan bahasa assembly
dirasakan masih terlalu sulit, sehingga
kemudian dikembangkan bahasa
pemrograman yang lebih mudah digunakan
karena menggunakan kata-kata yang mudah
dikenali oleh manusia.
Bahasa Pemrograman seperti ini disebut
Bahasa Generasi Ketiga atau 3GL (Third
Generation Language).
11. Bahasa Generasi Ketiga biasa juga
disebut dengan bahasa tingkat tinggi
atau HLL (high level language).
Contoh Bahasa Generasi Ketiga yaitu
Basic, Pascal, C, C++, COBOL dan
lain-lain.
12. Contoh perintah dalam bahas Pascal:
writeln (‘Algoritma’);
Contoh perintah dalam Bahasa C:
printf (“Algoritmanr”);
Contoh perintah dalam Bahasa C++:
cout << “Algoritma”<< endl;
13. Perangkat Lunak yang menerjemahkan program
dalam bahasa yang dimengerti manusia ke dalam
Bahasa Assembly atau Mesin ada dua macam,
yaitu:
1. Interpreter menerjemahkan program baris per
baris, jika suatu baris akan dieksekusi, maka
baris tersebut diterjemahkan dulu ke Bahasa
Mesin. Contoh: Basic
2. Kompiler menerjemahkan semua baris perintah
ke dalam bahasa mesin kemudian menjalankan
hasil penerjemahannya. Contoh: Pascal, C, dan
C++
14. Pada Bahasa Pemrograman Komputer ada
beberapa faktor yang harus diperhatikan:
1. Sintaksis, yaitu tata bahasa yang digunakan
dalam program atau aturan-aturan yang
mengatur tata cara penulisan kata, ekspresi,
dan pernyataan.
2. Semantik adalah maksud yang dikandung
dalam setiap pernyataan yang ada dalam
program atau aturan-aturan untuk
menyatakan suatu arti.
3. Kebenaran Logika berhubungan dengan benar
tidaknya urutan pernyataan yang ada dalam
program
15. Kesalahan sintaksis akan langsung kelihatan,
karena komputer akan menampilkan pesan
kesalahan
Kesalahan semantik biasanya terjadi karena
kekurang pahaman terhadap setiap pernyataan
yang dituliskan pada program, sehingga
walaupun program bisa berjalan tetapi tidak
seperti yang diharapkan.
Kesalahan logika merupakan kesalahan dalam
mengimplementasikan masalah yang dihadapi,
sehingga program yang ditulis tidak benar secara
logika.
16. 1. Mendefinisikan masalah.
Tujuannya untuk memahami
permasalahan secara mendalam
berkaitan dengan input, perintah
yang digunakan dan bagaimana
bentuk ouputnya.
17. 2. Menentukan solusi. Jika masalahnya terlalu
besar, dapat dibagi menjadi beberapa modul
yang dapat memudahkan penyelesaian
masalah
Contoh:
Program untuk menghitung luas dan keliling
persegi panjang inputnya adalah panjang
dan lebar, prosesnya dengan rumus luas =
panjang * lebar dan keliling = 2*
(panjang+lebar), serta output yang
diharapkan adalah luas dan keliling.
18. 3. Memilih Algoritma. Algoritma dibuat dengan
tujuan untuk menyelesaikan masalah. Algoritma
tidak bisa sekali jadi, tetapi akan dikaji
berulang-ulang sampai diperoleh algoritma
yang tepat, benar, dan relevan.
Contoh menghitung luas dan keliling persegi
panjang dibuat algoritma yaitu:
a. Tentukan variabel dan tipe data yang
digunakan.
b. Masukkan input yaitu panjang dan lebar.
c. Lakukan proses pencarian luas = panjang *
lebar, dan keliling = 2*(panjang+lebar)
d. Tampilkan luas dan keliling persegi panjang
19. 4. Menulis Program menggunakan suatu bahasa
pemrograman ke dalam komputer untuk
memecahkan masalah yang ada.
Di slide selanjutnya akan diperlihatkan contoh
Program Menghitung Luas dan Keliling Persegi
Panjang yang ditulis menggunakan Bahasa C.
20. /*-----------------------------------------------------------------------------------------------
Program ADP_1_langkah_pemrograman.cpp
Contoh Menulis Program Menghitung Luas dan Keliling Persegi Panjang
----------------------------------------------------------------------------------------------- */
#include <stdio.h>
#include <stdlib.h>
main()
{
int panjang, lebar, luas, keliling;
printf("Contoh Menulis Program");
printf(" sebagai Langkah-langkah Pemrograman Komputern");
printf("______________________");
printf("_________________________________________n");
printf("n");
printf("Masukkan panjang: ");scanf("%d",&panjang);
printf("Masukkan lebar: ");scanf("%d",&lebar);
printf("n");
luas = panjang * lebar;
keliling = 2 * (panjang+lebar);
printf("Jadi Luas Persegi Panjang adalah: %dn",luas);
printf("Jadi Keliling Persegi Panjang adalah: %dn",keliling);
printf("n");
system("Pause");
}
22. 5. Melakukan testing dan debugging. Testing
merupakan proses menjalankan program
secara rutin untuk menemukan kesalahan-
kesalahan dalam penulisan suatu pernyataan
dalam program. Sedangkan debugging
adalah proses menemukan kesalahan-
kesalahan dalam program dan kesalahan
yang ditemukan diperbaiki sampai tidak
muncul kesalahan lagi
23. 6. Menuliskan Dokumentasi. Dokumentasi
yaitu catatan dari setiap langkah pekerjaan
dalam pembuatan program, yang dilakukan
dari awal sampai akhir. Dokumentasi sangat
penting untuk melakukan penelusuran jika
terjadi kesalahan dan penting untuk
pengembangan program. Dokumentasi juga
akan memberikan informasi yang cukup
memadai sehingga orang lain akan dapat
mengerti dan memahami alur logika
program,
24. Dokumentasi biasanya berupa komentar-
komentar pada tiap baris program. Hal yang
perlu diperhatikan:
1.komentar jangan terlalu panjang
2.komentar harus jelas maksudnya
3.komentar diletakkan pada tempat yang
tepat
4.keterangan yang harus ditulis harus logis
5.tidak menimbulkan salah pengertian
25. // -----------------------------------------------------------------------
// Program ADP_2_menulis_dokumentasi_program.cpp
// Contoh Menulis Dokumentasi Program
// -----------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
main()
{
//deklarasi variabel yang digunakan
int jari;
float luas, keliling;
//keterangan program
printf("Contoh Menulis Dokumentasi Programn");
printf("________________________________n");
printf("n");
//input variabel yang digunakan yaitu jari
printf("Masukkan jari-jari: "); scanf("%d",&jari);
printf("n");
//proses menghitung luas dan keliling lingkaran
luas = 3.141593 * jari * jari;
keliling = 2 * 3.141593 * jari;
//ouput luas dan keliling lingkaran
printf("Jadi luasnya adalah: %.2fn",luas);
printf("Jadi keliling adalah: %.2fn",keliling);
printf("n");
system("Pause");
}
27. Untuk komentar dalam bahasa C++
menggunakan tanda /* dan diakhiri dengan
*/, atau dengan tanda // di awal setiap
pernyataan
28. 7. Melakukan Perawatan. Hal ini perlu
dilakukan karena kemungkinan munculnya
kesalahan di luar dugaan atau biasanya
pengguna meminta fasilitas yang baru dalam
program.
29. Dalam mengimplementasi urutan langkah
penyelesaian masalah harus menggunakan bentuk
dan rancang bangun yang mudah dipahami, tidak
berbelit-belit, sederhana dan dapat dikembangkan
siapa saja. Konsep ini dinamakan Pemrograman
Terstruktur, dengan ciri-ciri berikut ini:
1. Mempunyai teknik pemecahan permasalahan yang
tepat dan benar.
2. Memiliki algoritma pemecahan masalah yang
sederhana dan efisien.
3. Teknik penulisan program memiliki struktur logika
yang benar dan mudah dipahami.
4. Membutuhkan biaya testing yang rendah.
5. Memiliki dokumentasi yang baik.
30. Clarity, Simplicity dan Unity
Bahasa pemrograman harus dapat menolong
programmer untuk membuat suatu desain
program jauh sebelum programmer
melakukan coding. Kemudahan,
kesederhanaan dan kesatuan merupakan
suatu kombinasi yang membantu
programmer mengembangkan suatu
algoritma sehingga algoritma yang dihasilkan
mempunyai kompleksitas yang rendah.
31. Orthogonality
Orthogonality menunjuk kepada suatu atribut
yang dapat dikombinasikan dengan beragam
fitur bahasa pemrograman sehingga setiap
kombinasinya mempunyai arti dan dapat
digunakan
32. Kewajaran untuk aplikasi
Bahasa pemrograman membutuhkan syntax
yang tepat/cocok yang digunakan pada
struktur program untuk merefleksikan
struktur logika yang melandasi suatu
algoritma.
33. Mendukung Abstraksi
Abstraksi merupakan suatu hal yang
substansial bagi programmer untuk membuat
suatu solusi dari masalah yang dihadapi.
Kemudian abstraksi tersebut dapat dengan
mudah diimplementasikan menggunakan
fitur-fitur yang ada dalam bahasa
pemrograman.
34. Kemudahan untuk Verifikasi Program
Verifikasi program merupakan hal penting
bagi sebuah program karena dengan
verifikasi yang mudah maka suatu program
akan dengan mudah dibangun dan
dikembangkan.
35. Lingkungan Pemrograman
Bahasa pemrograman yang mempunyai
lingkungan pemrograman yang baik dan
lengkap akan memudahkan programmer
untuk mengimplementasikan abstraksi yang
sudah disusunnya.
36. Portabilitas Program
Salah satu kriteria penting untuk proyek
pemrograman adalah kemudahan program
yang sudah jadi untuk dipindah-pindahkan
dari komputer yang digunakan untuk
membuat dan mengembangkan ke komputer
lain yang akan menggunakannya.
37. Pemrogram atau Programmer adalah orang
yang menyusun atau membuat suatu
program.
Ciri-ciri Pemerogram yang baik:
1. Mampu menyusun algoritma dengan baik
2. Menguasai bahasa dan teknik penulisan
program dengan baik
3. Dapat bekerjasama dalam suatu tim
4. Dapat bekerja secara efisien dan tepat
waktu
38. Kata Algoritma diambil dari nama
ilmuwan muslim yaitu Abu Ja’far
Muhammad bin Musa Al-Khwarizmi
(780 – 846 M) yang berasal dari
Uzbekistan, yang banyak menghasilkan
karya dalam bidang matematika,
disamping karya-karya dalam bidang
lainnya seperti geografi dan musik.
Al-Khwarizmi menyatakan bahwa
algoritma adalah suatu metode khusus
untuk menyelesaikan suatu persoalan
39. Beberapa definisi Algoritma:
1. Menurut Rinaldi Munir (2002), algoritma adalah
urutan langkah-langkah logis penyelesaian masalah
yang disusun secara sistematis
2. Menurut Kamus Besar Bahasa Indonesia (1998),
algoritma adalah urutan logis pengambilan
keputusan untuk pemecahan masalah.
3. Menurut Team Gunadarma (1988), algoritma adalah
suatu himpunan hingga dari instruksi-instruksi
yang secara jelas memperinci langkah-langkah
proses pelaksanaan, dalam pemecahan suatu
masalah tertentu, atau suatu kelas masalah
tertentu, dengan dituntut pula bahwa himpunan
instruksi itu tersebut dapat dilaksanakan secara
mekanik.
40. Contoh 1: algoritma dalam kehidupan sehari-
hari (menulis surat):
1. Mempersiapkan kertas dan amplop.
2. Mempersiapkan alat tulis, seperti pena
atau pensil
3. Mulai menulis
4. Memasukkan kertas ke dalam amplop
5. Pergi ke kantor pos untuk mengeposkan
surat.
41. Contoh 2: algoritma untuk menghitung luas
lingkaran. (Rumus luas lingkaran, L = πR2):
1. Masukkan R.
2. Pi 3.14
3. L Pi * R * R
4. Tulis L
Tanda pada baris kedua dan ketiga berarti
nilai di sebelah kanan diberikan pada operan
di sebelah kiri.
42. Masalah Algoritma Terjemahkan
ke Dalam Bahasa Pemrograman Hasil/Solusi
Proses dari masalah hingga menjadi suatu
algoritma disebut “Tahap Pemecahan
Masalah”
Sedangkan dari Algoritma hingga menjadi
Solusi/Hasil disebut tahap Tahap
Implementasi. Hasil/Solusi yang dimaksud
adalah suatu program yang merupakan
implementasi dari algoritma yang disusun.
43. 1. Uraian Deskriptif, yaitu menggunakan bahasa
sehari-hari.
2. Pseudocode, yaitu kode yang mirip dengan
kode pemrograman sebenarnya seperti Pascal
atau C.
3. Flowchart (Diagram Alir), yaitu gambar atau
diagram yang memperlihatkan urutan dan
hubungan antar proses beserta pernyataannya.
Gambar ini dinyatakan secara simbol, dan tiap
simbol menggambarkan proses tertentu.
Sedangkan antara proses digambarkan dengan
garis penghubung.
44. Bagan-bagan yang mempunyai
arus yang menggambarkan
langkah-langkah penyelesaian
suatu masalah.
Merupakan salah satu cara
penyajian dari suatu algoritma.
45. Ada 2 macam Flowchart :
– System Flowchart, yaitu urutan proses
dalam system dengan menunjukkan alat
media input, output serta jenis media
penyimpanan dalam proses pengolahan
data.
– Program Flowchart, yaitu urutan instruksi
yang digambarkan dengan simbol tertentu
untuk memecahkan masalah dalam suatu
program.
46. Simbol – simbol yang digunakan
dalam flowchart, yaitu
- Flow Direction Symbols (Simbol
penghubung alur)
- Processing Symbols (Simbol
proses).
- Input-output Symbols (Simbol
input-output)
49. Pembuatan flowchart
- Sebuah flowchart diawali dari satu titik START dan
diakhiri dengan END.
- Hindari pengulangan proses yang tidak perlu dan
logika yang berbelit sehingga jalannya proses
menjadi singkat.
- Jalannya proses digambarkan dari atas ke bawah
dan diberikan tanda panah untuk memperjelas.
- Masing – masing simbol sebaiknya menggunakan
suatu kata yang mewakili suatu pekerjaan
- Jika flowchart terpotong yang dikarenakan
keterbatasan tempat maka gunakan simbol
penghubung yang tepat.
50. Dalam pemrograman, algoritma
digunakan untuk tiga struktur dasar,
yaitu:
1. Struktur Urut (sequence structure),
2. Struktur Keputusan (decision
structure),
3. Struktur perulangan (looping
structure).
51. 1. Struktur Urut (sequence structure), terdiri
dari pernyataan atau beberapa pernyataan
yang tidak mempunyai perulangan atau
keputusan di dalamnya.
Contoh: algoritma untuk menghitung luas
dan volume suatu balok.
Rumus Luas Balok,
L = (2*p*l) + (2*p*t) + (2*l*t)
Rumus Volume Balok,
V = p*l*t
52. Algoritma dari permasalahan di atas adalah:
1. Masukkan panjang
2. Masukkan lebar
3. Masukkan tinggi
4. Luas = (2*p*l)+(2*p*t)+(2*l*t)
5. Volume = p*l*t
6. Tampilkan Luas
7. Tampilkan Volume
53. Keterangan dari algoritma di atas:
Pada baris pertama, kedua & ketiga diminta untuk memasukkan
input yang berkaitan dengan balok yaitu panjang, lebar dan
tinggi. Panjang balok disimpan pada variabel panjang, lebar
balok disimpan pada variabel lebar dan tinggi balok disimpan
pada variabel tinggi.
Pada baris keempat dan kelima, diminta memasukkan rumus
untuk mencari luas dan volume balok, yaitu Luas =
(2*panjang*lebar) + (2*panjang*tinggi) + (2*lebar*tinggi), dan
Volume = panjang*lebar*tinggi.
Luas balok disimpan pada variabel luas dan Volume balok
disimpan pada variabel volume. Baris keenam dan ketujuh
merupakan hasil dari proses input dan proses perhitungan dari
variabel input yang dimasukkan dan nantinya akan ditampilkan
Luas dan Volume balok.
55. Contoh memecahkan masalah dalam algoritma Struktur Urut.
Program untuk menghitung luas dan volume suatu balok.
/* ----------------------------------------------------------------------
Program ADP_3_struktur_dasar_algoritma_urut.cpp
Contoh Struktur Dasar Algoritma
---------------------------------------------------------------------- */
#include <stdio.h>
#include <stdlib.h>
main()
{
int panjang, lebar, tinggi, luas, volume;
printf("Contoh Struktur Dasar Algoritma Urutn");
printf("Menghitung Luas & Volume Balokn");
printf(“______________________________n");
printf("n");
printf("Masukkan panjang: "); scanf("%d",&panjang);
printf("Masukkan lebar: "); scanf("%d",&lebar);
printf("Masukkan tinggi: "); scanf("%d",&tinggi);
luas=(2*panjang*lebar)+(2*panjang*tinggi)+(2*lebar*tinggi);
volume=panjang*lebar*tinggi;
printf("Jadi Luasnya adalah: %dn",luas);
printf("Jadi Volumenya adalah: %dn",volume);
system("Pause");
}
57. 2. Struktur Keputusan (decision
structure), digunakan untuk
memilih salah satu alternatif
jawaban yang tepat dari pilihan
yang ada. C++ menyediakan
dua perintah pengambilan
keputusan yaitu perintah IF dan
SWITCH.
58. Contoh: algoritma untuk menghitung
total pembayaran dari pembelian
seorang pelanggan toko, dengan
ketentuan apabila pembelian pelanggan
tersebut sama dengan atau melebihi
100000, maka pelanggan tersebut
mendapat discount 10%, jika tidak
pelanggan tersebut hanya mendapat
discount 5%.
59. Algoritma dari permasalahan tersebut adalah:
1. Masukkan pembelian
2. Jika pembelian >= 100000, discount =10% *
pembelian
3. Total pembayaran = pembelian – discount
4. Jika pembelian < 100000, discount = 5% *
pembelian
5. Total pembayaran = pembelian – discount
6. Tampilkan pembelian
7. Tampilkan discount
8. Tampilkan total pembayaran
60. Keterangan dari algoritma di atas:
Pada baris pertama, diminta untuk memasukkan input yang
berkaitan dengan permasalahan di atas yaitu pembelian. Pembelian
tersebut disimpan pada variabel beli.
Pada baris kedua, akan dilakukan pengujian dan pengecekan
pembelian yang dimasukkan yaitu apabila pembelian pelanggan
tersebut sama dengan atau melebihi 100000 atau tidak.
Jika jawabannya ya, maka pelanggan tersebut mendapat discount
10%, dan total pembayarannya = pembelian-dicount. Discount
disimpan dalam variabel disc dan total pembayaran disimpan dalam
variabel total. Kemudian ke baris keenam sampai kedelapan.
Jika jawabannya tidak, maka kerjakan baris keempat dan kelima
yaitu discount hanya 5% dan total pembayaran = pembelian-
discount.
Selanjutnya pada baris keenam sampai kedelapan, akan ditampilkan
discount dan total pembayaran.
62. // ------------------------------------------------------------------------------
// Program ADP_4_struktur_dasar_algoritma_keputusan.cpp
// Contoh Struktur Dasar Algoritma
// ------------------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
main()
{
long int beli,disc,total;
printf("Contoh Struktur Dasar Algoritma Keputusann")
printf("Program untuk menghitung Pembelian");
printf(" dengan discountn");
printf("___________________________________");
printf("________________n");
printf("n");
printf("Masukkan nilai pembelian: Rp. "); scanf("%d",&beli);
printf("n");
if (beli>=100000)
{
disc=0.1*beli;
total=beli-disc;
}
else
{
disc=0.05*beli;
total=beli-disc;
}
printf("Jadi pembelian adalah Rp. %dn",beli);
printf("dengan discount Rp. %dn",disc);
printf("dan total pembayaran sebesar Rp. %dn",total);
printf("n");
system("Pause");
}
Contoh memecahkan masalah dalam algoritma Struktur Keputusan.
Program untuk menghitung total pembayaran dari pembelian dengan discount
64. 3. Struktur Perulangan (looping
structure), digunakan untuk
melakukan suatu proses secara
berulang-ulang, jika suatu kondisi
dipenuhi atau sebaliknya. Biasa
dipergunakan untuk mengulang
proses pemasukan data,
mengulang proses perhitungan,
dan mengulang proses penampilan
hasil pengolahan data.
65. Contoh: algoritma untuk menampilkan
bilangan dari 10 sampai 1 secara
menurun, yaitu 10,9,8,7,6,5,4,3,2,1.
Algoritma dari permasalahan tersebut:
1. Tentukan nilai awal, batas, dan
penurunan nilai
2. Lakukan perulangan sampai batas
terpenuhi
3. Tampilkan bilangan
66. Keterangan dari algoritma di atas:
Pada baris pertama, diminta untuk mendefinisikan variabel
bilangan dalam hal ini disimpan dalam variabel n. Adapun
nilai awal n adalah 10, batas dari bilangan adalah n>0.
Karena yang akan ditampilkan bilangan secara menurun,
maka bilangan awal dikurangi satu persatu. Dalam C++
penulisannya adalah n--.
Pada baris kedua, proses perulangan dimulai, n dimulai dari
10, karena 10>0, maka perulangan dilakukan serta proses
penurunan berjalan yaitu 10-1=9. Seterusnya, perulangan
dilakukan sampai n=0.
Apabila nilai n=0, maka proses perulangan dihentikan dan
langkah selanjutnya akan turun ke baris ketiga yaitu
menampilkan semua bilangan dalam perulangan tersebut.
68. Contoh memecahkan masalah dalam algoritma Struktur
Perulangan.
Program untuk menampilkan bilangan dari 10 sampai 1 secara
menurun
// -------------------------------------------------
// Program ADP_5_struktur_dasar_algoritma_perulangan.cpp
// Contoh Struktur Dasar Algoritma
// -------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
main()
{
int n;
printf("Contoh Struktur Dasar Algoritma Perulangann");
printf("Program untuk menampilkan nilai 10 s.d. 1n");
printf("__________________________________________n");
printf("nt");
for (n=10; n>0; n--){
printf("%dnt",n);
}
printf("n");
system ("Pause");
}
69.
70. Sejauh ini tidak ada standarisasi tentang
bagaimana menyusun algoritma. Secara
prinsip, setiap orang mempunyai kebebasan
untuk menyusun bentuk suatu algoritma. Tiap
orang dapat menggunakan kata-kata dalam
bahasa manusia, pseudocode, atau bahkan
diagram alir untuk mewujudkan suatu
algoritma. Tiap orang juga dapat menggunakan
cara-caranya sendiri untuk menuliskan suatu
algoritma dengan memegang teguh
konsistensi.
71. Namun demikian ada beberapa hal yang perlu diperhatikan dalam
menyusun suatu algoritma.
Menurut Knuth ( 1973, hal. 4) dan juga Horowitz (1999, hal. 1), ada lima
ciri-ciri penting yang harus dimiliki sebuah algoritma, yaitu:
1. Finitness, menyatakan bahwa suatu algoritma harus berakhir untuk
semua kondisi setelah memproses sejumlah langkah.
2. Definiteness, menyatakan bahwa setiap langkah harus dinyatakan
dengan jelas (tidak rancu atau memiliki dua arti).
3. Masukan, setiap algoritma dapat tidak memiliki masukan atau
mempunyai satu atau beberapa masukan. Masukan merupakan suatu
besaran yang diberikan di awal sebelum algoritma diproses.
4. Keluaran, setiap algoritma memiliki keluaran, entah hanya sebuah
keluaran atau banyak keluaran. Keluaran merupakan besaran yang
mempunyai kaitan atau hubungan dengan masukan.
5. Efektivitas, setiap algoritma diharapkan bersifat efektif, dalam arti
semua operasi yang dilaksanakan oleh algoritma harus sederhana dan
dapat dikerjakan dalam waktu yang terbatas. Secara prinsip, setiap
instruksi dalam algoritma dapat dikerjakan oleh orang dengan hanya
menggunakan kertas dan pensil.
72. Memiliki logika perhitungan / metode yang tepat
dalam memecahkan masalah
Menghasilkan output yang tepat dan benar dalam
waktu yang singkat.
Ditulis dengan bahasa yang standart secara
sistematis dan rapi sehingga tidak menimbulkan arti
ganda
Ditulis dengan format yang mudah dipahami, dan
diimplementasikan ke dalam bahasa pemograman
Semua Operasi yang dibutuhkan terdefinisi dengan
jelas
Semua proses harus selalu berakhir setelah sejumlah
langkah dilakukan.
73. Standart Teknik Pemecahan Masalah
– Top – Down : Merupakan teknik pemecahan masalah
yang paling banyak digunakan dimana pada teknik ini
suatu masalah yang besar / complex dibagi-bagi ke
dalam beberapa kelompok masalah yang lebih kecil,
Dari kelompok kecil kemudian dianalisa dan apabila
masih memungkinkan untuk dibagi lagi menjadi sub
bagian lalu kemudian di susun langkah-langkah
untuk menyelesaikan masalah secara detail.
– Bottom – Up : Teknik ini masalah yang besar/komplek
dipecahkan dengan melakukan penggabungan
prosedur-prosedur yang menjadi satu kesatuan
program guna menyelesaikan masalah tersebut,
teknik ini sudah mulai di tinggalkan.
74. Standart Penyusunan Program
– Kebenaran logika dan penulisan : Program
yang disusun harus memiliki ketepatan,
ketelitian, dan kebenaran dalam
perhitungan, sehingga hasilnya dapat
dipercaya serta harus teliti dalam
penulisannya.
– Waktu untuk penulisan program : Program
harus dapat menentukan batas waktu
minimum dan maksimum dalam penulisan
programnya yang tersedia secara wajar.
77. Tipe data adalah suatu nilai yang
dapat dinyatakan dalam bentuk
konstanta atau variabel dan
operator yang dapat dikenakan
padanya. Konstanta menyatakan
nilai yang tetap, sedangkan
variabel menyatakan nilai yang
dapat diubah-ubah.
78. ◦ Tipe terdiri dari :
- Tipe Sederhana (Simple Type), dapat dibagi menjadi
empat kelompok (disebut juga tipe data dasar), yaitu:
1. bilangan bulat (integer)
2. bilangan pecahan (float/real)
3. teks, yaitu char untuk satu karakter, biasa
menggunakan tanda petik tunggal (‘ ‘) dan string
untuk karakter lebih dari satu, biasa menggunakan
tanda petik ganda (“ “).
4. pointer, dan
5. Boolean.
- Tipe Terstruktur (Structure Type)
1. Array
2. Record
79. Tipe Integer atau Bilangan Bulat (cthnya (..., -2, -1, 0, 1, 2, ...))
dapat dideklarasikan dengan menggunakan kata kunci (keyword)
atau kata cadangan (reserved word) yaitu short atau long
Keyword Besar
Memori
Jangkauan Nilai
int 16 bit -32768 s.d. 32768
short int 16 bit -32768 s.d. 32768
long int 32 bit -2147483648 s.d.
2147483648
Keyword Besar
Memori
Jangkauan Nilai
Unsigned int 16 bit 0 s.d. 65535
Unsigned short
int
16 bit 0 s.d. 65535
Unsigned long
int
16 bit 0 s.d. 4294967295
80. // -------------------------------------------------------------------------
-----
// Program ADP_6_memperlihatkan_data_tipe_integer.cpp
// Contoh Program Untuk Memperlihatkan Data Bertipe Integer
// -------------------------------------------------------------------------
-----
#include <stdio.h>
#include <stdlib.h>
main()
{
int a,b,c; // deklarasi tipe data integer
printf("Contoh Program Untuk Menampilkan Data Bertipe Integern");
//Judul Program
printf("_____________________________________________________n"); //Judul
Program
printf("n");
a=25.5; // nilai a berupa bilangan pecahan
b=15.0; // nilai b berupa bilangan pecahan
c=a+b; // c adalah nilai a ditambah nilai b
printf("%d",c); // menampilkan nilai c hasil penambahan a & b
81. 1. Tentukan nilai a
2. Tentukan nilai b
3. c = a + b
4. Tampilkan nilai
Keterangan dari algoritma di atas adalah : pada
baris pertama dan kedua ditentukan nilai a yaitu 25
dan nilai b yaitu 15 dengan keduanya bertipe
integer (int). Nilai a disimpan dalam variabel a dan
nilai b disimpan dalam variabel b. Pada baris ketiga,
dimasukkan variabel c dengan rumus = a + b,
sehingga pada baris keempat akan ditampilkan
proses perhitungan dari variabel c yaitu a + b = 25
+ 15 = 40, dimana nilai c disimpan dalam variabel c
dan bertipe data integer.
82. Tipe Pecahan atau Floating Point (cth (1/4, ½,
2/3,…) dapat dideklarasikan dengan
menggunakan kata kunci (keyword) atau kata
cadangan (reserved word) yaitu float, double,
dan long double
Keyword Besar
Memori
Jangkauan Nilai
float 32 bit 3.4E-038 s.d. 3.4E+038
double 64 bit 1.7E-038 s.d. 1.7E+038
long
double
64 bit 1.7E-038 s.d. 1.7E+038
83. // -------------------------------------------------------------------------
-------
// Program ADP_6_memperlihatkan_data_tipe_pecahan.cpp
// Contoh Program Untuk Memperlihatkan Data Bertipe Pecahan
// -------------------------------------------------------------------------
-------
#include <stdio.h>
#include <stdlib.h>
main()
{
float a,b,c;
printf("Contoh Program Untuk Menampilkan Data Bertipe Percahann");
printf("____________________________________________________n");
printf("n");
a=25;
b=10;
c=a/b;
printf("%fn",c);
printf("n");
84. 1. Tentukan nilai a
2. Tentukan nilai b
3. c = a / b
4. Tampilkan nilai
Keterangan dari algoritma di atas adalah : pada
baris pertama dan kedua ditentukan nilai a yaitu 25
dan nilai b yaitu 10 dengan keduanya bertipe
pecahan (float). Nilai a disimpan dalam variabel a
dan nilai b disimpan dalam variabel b. Pada baris
ketiga, dimasukkan variabel c dengan rumus = a /
b, sehingga pada baris keempat akan ditampilkan
proses perhitungan dari variabel c yaitu a / b = 25 /
10 = 2.500000, dimana nilai c disimpan dalam
variabel c dan bertipe data float.
85. Teks dapat berupa suatu
karakter ataupun suatu
string. Tipe Teks dapat
dideklarasikan dengan
menggunakan kata kunci
(keyword) atau kata
cadangan (reserved word)
yaitu char.
86. // ----------------------------------------------------------------
// Program ADP_8_memperlihatkan_data_tipe_teks.cpp
// Contoh Program Untuk Memperlihatkan Data Bertipe Teks (karakter)
// ----------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
main()
{
char a;
printf("Contoh Program Untuk Menampilkan Data Bertipe Teks
(karakter)n");
pintf(“_________________________________________________________n");
printf("n");
printf("Masukkan huruf: ");scanf("%c",&a);
printf("Huruf yang dimasukkan adalah: %cn",a);
printf("n");
system ("Pause");
}
87. 1.Masukkan huruf
2.Tampilkan huruf
Keterangan dari algoritma di atas
adalah : pada baris pertama, diminta
untuk memasukkan input yang berupa
huruf dimana huruf tersebut bertipe
karakter (char). Huruf yang
dimasukkan tersebut disimpan dalam
variabel a. Pada baris kedua akan
ditampilkan variabel a tadi.
89. // ----------------------------------------------------------------
------------------
// Program ADP_8a_memperlihatkan_data_tipe_teks.cpp
// Contoh Program Untuk Memperlihatkan Data Bertipe Teks (string)
// ----------------------------------------------------------------
------------------
#include <stdio.h>
#include <stdlib.h>
main()
{
char nama[20];
printf("Contoh Program Untuk Menampilkan Data Bertipe Teks
(string)n");
printf("___________________________________________________________n");
printf("n");
printf("Masukkan nama Anda: ");scanf("%s",&nama);
printf("Nama yang dimasukkan adalah: %sn",nama);
printf("n");
system ("Pause");
90. 1.Masukkan nama
2.Tampilkan nama
Keterangan dari algoritma di atas adalah :
pada baris pertama, diminta untuk
memasukkan input yang berupa nama
dimana namatersebut bertipe karakter
(dalam hal ini menggunakan tipe data
char yang mempunyai panjang 20
karakter). Nama yang dimasukkan
tersebut disimpan dalam variabel nama.
Pada baris kedua akan ditampilkan
91. Jadi perbedaan tipe data karakter dan string
adalah jika tipe data karakter dituliskan
dengan kata kunci char saja, sedangkan tipe
data string ditulis dengan kata kunci char
diikuti tanda kurung siku awal dan akhir,
dimana dalam tanda kurung siku tersebut
terdapat panjang karakter yang diinginkan.
92. Pointer adalah suatu variabel
yang menyimpan alamat dari
suatu data, bukan menyimpan
datanya sendiri. Pointer
dideklarasikan dengan
menggunakan tanda asteris (*)
di depan nama variabelnya.
93. // -----------------------------------------------------------------------------
--
// Program ADP_9_memperlihatkan_data_tipe_pointer.cpp
// Contoh Program Untuk Memperlihatkan Data Bertipe pointer
// -----------------------------------------------------------------------------
--
#include <stdio.h>
#include <stdlib.h>
main()
{
int a,b,c,*d,*e,*f;
a=1000;
b=2050;
c=500;
d=&a;
e=&b;
f=&c;
printf("Contoh Program Untuk Menampilkan Data Bertipe Pointern");
printf("___________________________________________________n");
printf("n");
printf("Pointer d menunjukkan alamat: %pn",d);
printf("Pointer e menunjukkan alamat: %pn",e);
printf("Pointer f menunjukkan alamat: %pn",f);
printf("Alamat tersebut berisi nilai: %dn",*d);
printf("Alamat tersebut berisi nilai: %dn",*e);
printf("Alamat tersebut berisi nilai: %dn",*f);
printf("n");
Contoh program untuk memperlihatkan data bertipe pointer
94. 1. Definisikan variabel a
2. Definisikan variabel b
3. Tampilkan nilai b
4. Tampilkan nilai pointer b
Keterangan dari algoritma di atas adalah : pada baris pertama
dan kedua, diminta untuk mendefinisikan dua buah variabel,
yaitu variabel a dengan tipe integer dan variabel b yang
merupakan suatu pointer bertipe integer yang akan
menyimpan alamat dari suatu data. Variabel b merupakan
suatu pointer karena dideklarasikan dengan didahului suatu
karakter *. Operatos & digunakan untuk mengambil alamat
dari suatu data.
Pada baris ketiga dan keempat, variabel a diisi dengan nilai
integer 20 dan nilai ini disimpan pada suatu alamat tertentu.
Alamat tersebut kemudian diisikan ke pointer b dengan
menggunakan operator & sebagai berikut b = &a. Dengan
demikian pointer b sekarang berisi alamat dari nilai integer 20.
96. 1.Definisikan variabel nama
2.Tampilkan nilai pointer nama
Keterangan dari algoritma di atas adalah :
pada baris pertama diminta untuk
mendefinisikan sebuah variabel nama yang
merupakan suatu pointer karena
dideklarasikan dengan didahului suatu
karakter *. Operator & digunakan untuk
mengambil alamat dari suatu data. Dana
pada baris kedua, variabel naam diisi
dengan tipe char dan tipe data ini disimpan
dalam suatu alamat tertentu.
97. Dalam program C++ biasanya digunakan
variabel dan konstanta untuk mendefiniskan
sebuah nilai.
Varibel dalam program digunakan untuk
menyimpan suatu nilai, dan nilai yang ada
padanya dapat diubah-ubah selama eksekusi
program berlangsung.
Variabel yang akan digunakan dalam program
harus dideklarasikan terlebih dahulu.
98. Deklarasi Variabel adalah memesan memori dan
menentukan jenis data yang dapat disimpan di
dalamnya.
Bentuk umum pendeklarasian variabel adalah:
tipe daftar-variabel;
Daftar-variabel dapat berupa sebuah variabel atau
beberapa variabel yang dipisahkan dengan tanda
koma.
Contoh:
int jumlah;
float harga_per_satuan, total_harga;
99. Tipe Jumlah
Bit
Rentang Data Keterangan
Char 8 -128 s.d. 127 Karakter
Int 16 -32768 s.d.
32767
Bilangan bulat (integer)
Float 32 3.4E-38 s.d.
3.4E+38
Bilangan pecahan presisi
tunggal
Doubl
e
64 1.7E-38 a.d.
1.7E+38
Bilangan pecahan presisi
ganda
Void 0 0 Pointer
Tipe Variabel
100. Tipe Ukuran (Bit) Rentang Data
Unsigned char 8 0 s.d. 255
Char 8 -128 s.d. 127
Enum 16 -32768 s.d. 32767
Unsigned int 16 0 s.d. 65535
Short int 16 -32768 s.d. 32767
Int 16 -32768 s.d. 32767
Unsigned long 32 0 s.d. 4294967295
Long 32 -2147483648 s.d. 2147483647
Float 32 3.4E-38 s.d. 3.4E+38
Double 64 1.7E-308 s.d. 1.7E+308
Long double 80 3.4E-34932s.d. 1.1E+4932
Near pointer 16 Not applicable
Far pointer 32 Not applicable
Tipe Data, Ukuran, dan Rentang Data
101. Hanya boleh terdiri dari huruf, angka, atau
garis bawah (Tidak boleh menggunakan
symbol)
Tidak boleh diawali dengan angka
Case sensitive
Harus Unik (tidak boleh sama)
Panjang tidak dibatasi, akan tetapi jangan
terlalu panjang guna memudahkan dalam
penggunaan
Hendaknya mencerminkan kegunaannya
102. Untuk memberikan nilai ke variabel yang
telah dideklarasikan, bentuk pernyataan
yang digunakan adalah:
variabel = nilai;
Contoh:
jumlah = 50;
harga_per_satuan = 15.7;
total_harga = jumlah * harga_per_satuan;
103. Algoritma untuk contoh di atas:
1. Inisialisasikan variabel jumlah
2. Inisialisasikan variabel harga per satuan
3. Inisialisasikan total harga
4. Tentukan nilai jumlah
5. Tentukan nilai harga per satuan
6. Total harga = jumlah*harga per satuan
7. Tampilkan total harga
104. Keterangan algoritma di atas:
Pada baris pertama, kedua dan ketiga diminta untuk
menentukan tipe data yang tepat untuk variabel
jumlah dan variabel harga per satuan serta total
harga, dimana tipe data yang tepat adalah pecahan
(float). Variabel masing-masing disimpan dengan
nama jumlah, harga per satuan, serta harga_total.
Pada baris keempat dan kelima nilai darikan jumlah
ditentukan 50 dan nilai harga_per_satuan ditentu
15.7.
Pada baris keenam, dilakukan proses perhitungan
dan pencarian nilai dari harga_total dengan rumus =
jumlah*harga_per_satuan.
Pada baris ketujuh menampilkan harga_total.
105. /* -------------------------------------------
Nama Program: ADP_Soal12.cpp
Contoh Penggunaan dan Pemberian
Nilai Variabel
---------------------------------------------
*/
#include <stdio.h>
#include <stdlib.h>
main()
{
int jumlah;
float harga_satuan, harga_total;
jumlah = 50;
harga_satuan = 15.7;
harga_total = jumlah * harga_satuan;
printf("Contoh Penggunaan dan n");
printf(“Pemberian Nilai Variabeln”);
printf("--------------------------n");
printf("n");
printf("Harga Total = %.2fn", harga_total);
system("pause");
106. /* ----------------------------
Nama Program: ADP_Soal12b.cpp
Contoh Penggunaan variabel
---------------------------- */
#include <stdio.h>
#include <stdlib.h>
main()
{
int jumlah;
float harga_satuan, harga_total;
printf("Contoh Penggunaan dann");
printf("Pemberian Nilai Variabeln");
printf("--------------------------n");
printf("Masukkan jumlah: ");scanf("%d",&jumlah);
printf("Masukkan Harga Satuan: ");scanf("%f",&harga_satuan);
harga_total = jumlah * harga_satuan;
printf("n");
printf("Harga Total = %.2fn", harga_total);
printf("n");
system("pause");
}
107. Beberapa modifikasi tipe (type
modifier) yang dapat dikenakan di
awal tipe data dasar (kecuali void)
adalah: signed, unsigned, long, dan
short.
Misal modifikasi tipe unsigned jika
diterapkan pada tipe int, akan menjadi
unsigned int.
108. Tipe Ukuran
(Bit)
Rentang Data
Unsigned char 8 0 s.d. 255
Signed char 8 -128 s.d. 127
Unsigned int 16 -32768 s.d. 32767
Signed int 16 -32768 s.d. 32767
Short int 16 0 s.d 65535
Unsigned short 16 -32768 s.d. 32767
Int 32 -2147483648 s.d. 2147483647
Signed short int 32 -2147483648 s.d. 2147483647
Unsigned Long
int
32 0 s.d. 4294967295
Signed long int 80 3.4E-4932 s.d. 1.1E+4932
Unsigned long
int
Long doubel
Modifikasi Tipe Variabel
109. Dari tabel di atas, dapat dilihat bahwa tipe char
sama dengan unsigned char, sedangkan signed
int, short int, signed short int, dan int
sebenarnya adalah sama. Perbedaan signed dan
unsigned terletak pada perlakuan bit tertinggi.
Jika dinyatakan dengan signed, maka bit tertinggi
digunakan sebagai bit tanda untuk menyatakan
apakah bilangannya positif atau negatif.
Hal yang perlu diingat dalam proses modifikasi
ini adalah tipe data hasil minimum harus
mempunyai panjang bit yang sama.
110. Dalam penulisan program beberapa tipe data
boleh tidak ditulis secara lengkap, misalnya:
1.Tipe short int cukup ditulis menjadi short
2.Tipe long int boleh ditulis menjadi long
3.Tipe signed int bisa ditulis menjadi signed
4.Tipe unsigned int boleh ditulis dengan
unsigned
111. Konstanta adalah nilai numeris atau karakter
yang tetap.
C++ mendukung empat kelas konstanta,
yaitu floating point, integer, string, dan
karakter.
Penulisan konstanta mempunyai aturan
tersendiri sesuai dengan tipe masing-masing.
112. Konstanta Integer
Dapat berupa integer biasa, long integer, dan
unsigned integer.
Nilai konstanta integer dapat berupa nilai
desimal, oktal (ditulis dengan didahului oleh
digit 0), atau hexadesimal (ditulis dengan
didahului digit 0 dan karakter X).
Sedangkan konstanta unsigned integer dapat
ditulis dengan diakhiri huruf U atau u.
113. Konstant integer ditulis dengan tanpa
mengandung pemisah ribuan dan tidak
mengandung bagian pecahan. Contoh -20
dan 2345.
Konstanta long integer penulisannya diakhiri
dengan tanda L atau l, contohnya 346600L
atau 325100l.
Konstanta unsigned integer jika nilainya
melebihi 65535 maka secara otomatis akan
diperlakukan sebagai unsigned long int,
contoh 431000u.
114. Konstanta Floating Point
Dapat mengandung nilai pecahan (dengan
tanda berupa titik) dan dapat ditulis dalam
bentuk pecahan desimal biasa maupun
bentuk eksponensial (menggunakan tanda E),
contoh 35.6 dan 3.2E+5 (maksudnya 3,2 x
105).
Konstanta pecahan selalu dinyatakan dalam
double, kecuali jika diakhiri dengan F atau f
(yang berarti menyatakan konstanta float).
115. Konstanta String
Merupakan deretan karakter yang diawali dengan
dan diakhiri dengan tanda petik-ganda (“).
Konstanta string yang berisi satu karakter
berbeda dengan konstanta karakter, sebab
konstanta karakter diawali dan diakhiri dengan
tanda petik-tunggal. Jadi “c” tidak sama dengan
‘c’.
Konstanta string dapat mengandung karakter
yang menggunakan tanda (karakter rangkaian
escape).
116. Konstanta Karakter
Selalu ditulis dengan diawali dan diakhiri
dengan tanda petik-tunggal. Contoh ‘C’ dan
‘&’.
Beberapa konstanta karakter dapat ditulis
dengan diawali tanda (penempatan tanda
setelah tanda petik tunggal).
Karakter yang berawalan tanda disebut
rankaian escape (escape sequence).
117. Sequence Karakter Keterangan
a Bel Bunyi Bel
b BS Mundur 1 karekter (backspace)
f FF Ganti halaman (form feed)
n LF Ganti baris (line feed)
r CR Kembali ke awal kolom (carriage return)
t HT Tabulasi horizontal (horizontal tab)
v VT Tabulasi vertikal (vertical tab)
Backslash
’ ‘ Petik tunggal
” “ Petik ganda
? ? Tanda tanya
DDD Apapun DDD adalah digit nilai oktal
xHHH Apapun HHH adalah digit nilai heksadesimal
0 NULL Karakter ASCII = 0
118. Ekspresi adalah sesuatu yang dapat menghasilkan nilai
Ekspresi dibagi menjadi 2 yaitu Operand dan Operator
Operator dibagi 2 berdasarkan operand yaitu
– Unary : satu operand
– Binary : dua operand
Contoh Ekpresi : 6 + 3
Angka 6 dan angka 3 adalah Operand sedangkan Simbol
tambah adalah operator
Contoh Unary : - 4
Simbol minus adalah Operator dan Angka 4 adalah
Operand
Contoh Binary : 7 * 2
Angka 7 dan 2 adalah Operand dan Simbol asteris
adalah operator
119. Operasi apa saja yang dapat dikenakan pada tipe
data, variabel dan konstanta tidak lepas dari
operator.
Operator merupakan simbol atau kata yang dapat
digunakan dalam program untuk melakukan
suatu operasi atau manipulasi, seperti
menjumlahkan dua buah nilai, memberikan nilai
ke suatu variabel, membandingkan dua buah
nilai dan lain-lain.
Sebagian operator C++ tergolong sebagai
operator binary, yaitu operator yang dikenakan
terhadap dua buah nilai (operand).
125. C++ mempunyai operator terkenal yaitu
operator peningkatan (increment operator)
yang menggunakan tanda ++ dan operator
penurunan (decrement operator) yang
menggunakan tanda --.
Operator peningkatan digunakan untuk
menambahkan nilai 1 pada nilai sebelumnya
dan operator penurunan digunakan untuk
mengurangi nilai 1 pada nilai sebelumnya.
126. Operato
r
Keterangan
<< Shift left (pergeseran ke kiri)
>> Shift right (pergeseran ke kanan)
& Operasi bit AND
| Operasi bit OR
^ Operasi bit XOR
~ Operasi bit NOT
Operator Bitwise
Tertingg
i
~
>> <<
&
^
Terenda |
127. Digunakan untuk membandingkan dua buah
nilai dan akan dihasilkan perbandingannya,
yaitu betul (bernilai 1) atau salah (bernilai 0)
Operator ini banyak digunakan pada
penyeleksian suatu kondisi di statemen IF
128. Operator Keterangan
> Lebih besar
>= Lebih besar sama dengan
< Lebih kecil
<= Lebih kecil sama dengan
== Sama dengan
!= Tidak sama dengan
129. Disamping operator hubungan, C++ juga
menyediakan tiga buah operator logika yang
biasanya berpasangan dengan operator
hubungan
Operator Keterangan
&& Operator Logika AND
|| Operator Logika OR
! Operator Logika NOT
130. A B A && B A || B
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 1
131. /* -------------------------------------
Nama Program: ADP_Soal16.cpp
Contoh Penggunaan Operator Logika AND
------------------------------------- */
#include <stdio.h>
#include <stdlib.h>
main()
{
int nilai, tugas;
printf("Contoh Program Penggunaan Operator Logika ANDn");
printf("_____________________________________________n");
printf("n");
printf("Masukkan Nilai: ");scanf("%d",&nilai);
printf("Masukkan Nilai Tugas: ");scanf("%d",&tugas);
if(nilai>70 && tugas>=75)
printf("Lulusn");
else
printf("Tidak Lulusn");
printf("_______________________________________________");
printf("n");
printf("n");
system("pause");
}
136. Struktur keputusan (decision) adalah struktur
program yang melakukan proses pengujian
untuk mengambil suatu keputusan apakah
suatu baris atau blok instruksi akan diproses
atau tidak. Pengujian kondisi ini dilakukan
untuk memilih salah satu dari beberapa
alternatif yang tersedia.
C++ menyediakan dua perintah pengambilan
keputusan yaitu perintah IF dan perintah
SWITCH yang disertai dengan CASE
137. Syarat dalam dunia pemrograman
adalah sebuah pernyataan
Boolean, yang dapat bernilai
benar (true) atau salah (false).
Biasanya sebuah syarat terdiri dari
operand-operand yang
dihubungkan dengan operator
logika. Yaitu: =, <>, >, <, >=,
<=, and dan or.
138. Berguna untuk memilih satu dari
dua atau lebih alternatif jawaban
yang tersedia.
Jika perintah IF tersebut terdiri
dari 2 atau lebih pernyataan,
maka pernyataan tersebut harus
berada di antara begin dan end.
139. Bentuk umum perintah if (tunggal sederhana)
if (kondisi)
pernyataan
Bentuk di atas mempunyai arti jika kondisi bernilai
benar maka pernyataan di bawahnya akan dikerjakan.
Bentuk perintah if tunggal blok statemen (majemuk).
if (kondisi)
{
pernyataan1
pernyataan2
dst
}
140.
141.
142. /* ----------------------------------------------------------------------
Nama Program: ADP_19
Struktur Keputusan dengan Statemen if Tunggal Sederhana
----------------------------------------------------------------------- */
#include <stdio.h>
#include <stdlib.h>
main()
{
int beli, diskon, total;
printf("Contoh Struktur Keputusann");
printf("dengan Statemen if Tunggal Sederhanan");
printf("____________________________________n");
printf("n");
printf("Masukkan nilai pembelian: "); scanf("%d",&beli);
if (beli>100000)
diskon=10*beli/100;
total=beli-diskon;
printf("n");
printf("Jadi pembelian adalah: %dn",beli);
printf("dengan discount: %dn",diskon);
printf("dan total pembayaran sebesar Rp. %dn",total);
system("pause");
}
144. /* --------------------------------------------------------------------
Nama Program: ADP_20
Contoh Struktur Keputusan dengan Statemen if Majemuk
--------------------------------------------------------------------- */
#include <stdio.h>
#include <stdlib.h>
main()
{
int beli, diskon, pajak, total_harga;
printf("Contoh Struktur Keputusann");
printf("dengan Statemen if Majemuk
printf("__________________________n");
printf("n");
printf("Masukkan nilai pembelian: "); scanf("%d",&beli);
if (beli>100000)
{
diskon=10*beli/100;
pajak=0.01*beli;
}
total_harga=beli-diskon;
printf("n");
printf("Jadi pembelian adalah: %dn",beli);
printf("dengan discount: %dn",diskon);
printf("dikenakan pajak: %dn",pajak);
printf("dan total pembayaran dengan diskon Rp. %dn",total_harga);
printf("dan total pembayaran dikenakan pajak sebesar Rp. %dn",total_harga+pajak);
system("pause");
}
145. Bentuk umum dari if .. else
if (kondisi)
pernyataan1
else
pernyataan2
Bentuk umum ini berarti jika kondisi benar
maka pernyataan1 akan dikerjakan dan jika
kondisi salah maka pernyataan2 yang akan
dikerjakan
146.
147. /* ---------------------------------------------------
Nama Program: ADP_21
Contoh Struktur Keputusan dengan if..else
---------------------------------------------------- */
#include <stdio.h>
#include <stdlib.h>
main()
{
int nilai;
printf("Contoh Struktur Keputusan Dengan if..elsen");
printf("_________________________________________n");
printf("n");
printf("Masukkan sebuah nilai: ");scanf("%d",&nilai);
if (nilai>70)
printf("Lulusn");
else
printf("Tidak Lulusn");
printf("n");
system("pause");
}
148. Bentuk umum dari if .. else
if (kondisi1)
pernyataan1
else if (kondisi2)
pernyataan2
Bentuk ini disebut if..else if tangga, karena
mempunyai bentuk seperti sebuah tangga
149.
150. Contoh:
Akar-akar dari suatu persamaan kuadrat
aX2 + bX2 + c = 0 tergantung dari nilai determinannya. Nilai determinan (D) dapat
dihitung dengan rumus:
D = b2 – 4ac
Jika D bernilai positif, maka akan mempunyai dua akar riel yang berbeda yaitu:
X1 = dan X2 =
Jika D bernilai 0, maka akan mempunyai dua buah akar riel kembar, yaitu
X1 = X2 =
jika D bernilai negatif, maka akan dihasilkan dua akar imajiner:
X1 = X2 = , tanda i menunjukkan bahwa
nilai tersebut
adalah nilai imajiner.
151. /* -------------------------
Nama Program: ADP_21
Contoh Struktur Keputusan
dengan if..else if..else
------------------------- */
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
main()
{
float A, B, C, D, X1, X2;
printf("Contoh Struktur Keputusann");
printf("dengan Statemen if..else if..elsen");
printf("n");
printf("Menghitung Akar-akar Persamaan
Kuadrat");
printf("____________________________________n");
printf("n");
/* Masukkan Data Koefisien Persamaan Kuadrat
*/
printf("Masukkan nilai a: ");scanf("%f",&A);
printf("Masukkan nilai b: ");scanf(“%f",&B);
printf("Masukkan nilai c: ");scanf("%f",&C);
printf("n");
/* Menghitung Nilai Determinan */
D = B*B - 4*A*C;
/* Menyeleksi Nilai Determinan */
if(D==0){
X1 = -B / (2*A);
printf("Dua akar riel kembar: n");
printf("X1 = X2 = %.2fn",X1);
}
else if (D>0){
X1 = (-B + sqrt(D)) / (2*A);
X2 = (-B - sqrt(D)) / (2*A);
printf("Dua akar riel berlainan: n");
printf("X1 = %.2fn",X1);
printf("X2 = %.2fn",X2);
}
else if (D<0){
X1 = -B / (2*A);
X2 = sqrt(-D) / (2*A);
printf("Dua akar imajiner berlainan: n");
printf("X1 = %.2f + %.2f in",X1,X2);
printf("X2 = %.2f - %.2f in",X1,X2);
}
system("pause");
}
152. /* -------------------------------------
Nama Program: ADP_21
Contoh Struktur Keputusan
dengan if..else if..else Alternatif
-------------------------------------- */
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
main()
{
float A, B, C, D, X1, X2;
printf("Contoh Struktur Keputusann");
printf("dengan Statemen if..else if..else
Alternatifn");
printf("n");
printf("Menghitung Akar-akar Persamaan
Kuadrat");
printf("____________________________________n");
printf("n");
/* Masukkan Data Koefisien Persamaan Kuadrat
*/
printf("Masukkan nilai a: ");scanf("%f",&A);
printf("Masukkan nilai b: ");scanf(“%f",&B);
printf("Masukkan nilai c: ");scanf("%f",&C);
printf("n");
/* Menghitung Nilai Determinan */
/* Menyeleksi Nilai Determinan */
if(D==0){
X1 = -B / (2*A);
printf("Dua akar riel kembar: n");
printf("X1 = X2 = %.2fn",X1);
}
if (D>0){
X1 = (-B + sqrt(D)) / (2*A);
X2 = (-B - sqrt(D)) / (2*A);
printf("Dua akar riel berlainan: n");
printf("X1 = %.2fn",X1);
printf("X2 = %.2fn",X2);
}
if (D<0){
X1 = -B / (2*A);
X2 = sqrt(-D) / (2*A);
printf("Dua akar imajiner berlainan: n");
printf("X1 = %.2f + %.2f in",X1,X2);
printf("X2 = %.2f - %.2f in",X1,X2);
}
system("pause");
}
155. /* --------------------------------------
Nama Program: ADP_21
Contoh Struktur Keputusan if Bersarang
-------------------------------------- */
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
main()
{
float A, B, C, D, X1, X2;
printf("Contoh Struktur Keputusann");
printf("dengan Statemen if Bersarangn");
printf("_________________________n");
printf("n");
printf("Menghitung Akar-akar
PersamaanKuadratn");
printf("n");
/* Masukkan Data Koefisien Persamaan Kuadrat */
printf("Masukkan nilai a: ");scanf("%f",&A);
printf("Masukkan nilai b: ");scanf("%f",&B);
printf("Masukkan nilai c: ");scanf("%f",&C);
printf("n");
/* Menghitung Nilai Determinan */
D = B*B - 4*A*C;
/* Menyeleksi Nilai Determinan */
if(D>=0)
if(D==0){
X1 = -B / (2*A);
printf("Dua akar riel kembar: n");
printf("X1 = X2 = %fn",X1);
}
else{
X1 = (-B + sqrt(D)) / (2*A);
X2 = (-B - sqrt(D)) / (2*A);
printf("Dua akar riel berlainan: n");
printf("X1 = %fn",X1);
printf("X2 = %fn",X2);
}
else{
X1 = -B / (2*A);
X2 = sqrt(-D) / (2*A);
printf("Dua akar imajiner berlainan:
n");
printf("X1 = %f + %f in",X1,X2);
printf("X2 = %f - %f in",X1,X2);
}
system("pause");
}
156. /* ----------------------------
Nama Program: ADP_Soal21.cpp
Contoh Struktur Keputusan
dengan if..else majemuk
---------------------------- */
#include <stdio.h>
#include <stdlib.h>
main()
{
int nilai;
char huruf;
printf("Contoh Program Struktur Keputusann");
printf("dengan if..else majemukn");
printf("_________________________________n");
Printf("Masukkan Nilai Akhir Mahasiswa: "); scanf("%d",&nilai);
if (nilai>=81 && nilai <=100)
huruf='A';
else
if (nilai>=71 && nilai <81)
huruf='B';
else
if (nilai>=61 && nilai <71)
huruf='C';
else
if (nilai>=51 && nilai <61)
huruf='D';
else
huruf='E';
printf("Jadi Nilai Akhir Mahasiswa: %d, dengan Huruf : %c",nilai, huruf);
printf("n");
system("Pause");
}
157. Perintah SWITCH merupakan
pernyataan yang dirancang untuk
menangani pengambilan
keputusan yang melibatkan
sejumlah pilihan alternatif yang
diantaranya untuk menggantikan
pernyataan IF bertingkat.
160. main()
{
int kdhari;
printf("Masukkan Kode Hari [1..7]: "); scanf("%d",&kdhari);
switch (kdhari)
{
case 1:
printf("Senin");
break;
case 2:
printf("Selasa");
break;
case 3:
printf("Rabu");
break;
case 4:
printf("Kamis");
break;
case 5:
printf("Jum'at");
break;
case 6:
printf("Sabtu");
break;
case 7:
printf("Minggu");
break;
default:
printf("Kode tidak ada, hari tidak ditemukan");
}
printf("n");
printf("n");
system("pause");
}
161. Buatlah flowchart dan program untuk
menghitung besarnya tunjangan yang akan
diterima oleh seorang pegawai. Besar tunjangan
tergantung dari jumlah anaknya. Jika pegawai tsb
mempunyai anak kurang dari 3, maka
tunjangannya adalah sebesar 20% dari gaji
kotornya. Jika jumlahnya lebih besar atau sama
dengan 3, maka tunjangannya adalah 30% dari
gaji kotornya. Gaji juga akan dipotong untuk
keperluan asuransi, 5% untuk yang mempunyai
anak kurang dari 3 dan 7% untuk yang lebih
besar atau sama dengan 3.
162. Buatlah flowchart dan program dalam bentuk
menu, untuk menghitung:
a. Volume dari tabung
b. Luas dan keliling persegi panjang
c. Luas dan keliling bujur sangkar
Buatlah flowchart di sebuah kertas dan
programnya dalam bentuk file
164. Perintah perulangan (looping)
digunakan untuk melakukan suatu
proses secara berulang-ulang, jika
suatu kondisi dipenuhi atau
sebaliknya.
Pada prakteknya proses
pengulangan biasanya digunakan
untuk beberapa hal, misalnya
mengulang proses pemasukan data,
mengulang proses perhitungan dan
165. Proses looping yang menggunakan
penghitung (counter) dapat dibuat
menggunakan pernyataan FOR. Pernyataan ini
digunakan bila sudah diketahui berapa kali
sebuah atau beberap pernyataan akan
dilakukan perulangan.
Bentuk umum:
for(awal;akhir;peningkatan/penurunan)
{
pernyataan;
}
166. Bentuk di atas berarti:
a.Awal adalah inisialisasi untuk memberi nilai awal
terhadap variabel pengendali looping (disebut juga
indeks atau loop-control variable).
b. Akhir adalah kondisi untuk keluar dari looping
atau kondisi yang harus dipenuhi supaya
perulangan masih dapat terus dilakukan.
c.Penurunan/peningkatan adalah pengatur kenaikan
atau penurunan nilai variabel pengendali looping
Misalkan untuk menampilkan tulisan “Contoh
Penggunaan Statemen For” sebanyak 5 kali, maka
sesuai dengan bentuk umum di atas penulisannya
adalah sebagai berikut:
167. /* ---------------------------------
Nama Program: ADP_21cpp
Statemen for
----------------------------------- */
#include <stdio.h>
#include <stdlib.h>
main()
{
int X;
printf("Contoh Program Penggunaan Statemen
forn");
printf("_______________________________n");
printf("n");
for(X=1; X<=5; X++)
printf("Contoh Penggunaan Statemen Forn");
printf("n");
system ("pause");
}
168.
169. Algoritma program di atas adalah:
1. Tentukan nilai awal, batas akhir dan penambahan nilai
2. Cetak kalimat
3. Ulangi langkah 1 sampai batas akhir
Beberapa contoh perulangan dengan statemen for dan variasinya adalah:
1. Perulangan Positif,
2. Perulangan Negatif,
3. Perulangan dengan Blok Statemen,
4. Statemen For Tanpa Nilai Awal,
5. Statemen For Tanpa Peningkatan,
6. Statemen For Tanpa Nilai Awal dan Peningkatan
7. Perulangan For Tanpa Nilai Awal, Akhir, dan Peningkatan
8. Perulangan dengan Statemen Kosong
9. Variasi di Kondisi Perulangan
10. Statemen For Menggunakan Operator Koma
11.Perulangan For Bersarang
12.Statemen break untuk Menghentikan Perulangan for
170. /* ------------------------------------------------------------
--
Nama Program: ADP_2_for_perulangan_positif.cpp
Statemen for Perulangan Positif dengan Penambahan 1
------------------------------------------------------------
---- */
#include <stdio.h>
#include <stdlib.h>
main()
{
int I;
printf("Contoh Program Penggunaan Statemen for");
printf(" Perulangan Positif dengan Penambahan 1n");
printf(“______________________________n");
printf("nt");
for(I=-5; I<=5; I++)
printf("%dnt",I);
printf("n");
system ("pause");
171. /* --------------------------------------------------------------
-------------
Nama Program: ADP_2a_for_perulangan_positif.cpp
Statemen for Perulangan Positif dengan Penambahan lebih dari 1
--------------------------------------------------------------
------------- */
#include <stdio.h>
#include <stdlib.h>
main()
{
int I;
printf("Contoh Program Penggunaan Statemen for");
printf(" Perulangan Positif dengan Penambahan Lebih Dari 1n");
printf("______________________________________n");
printf("nt");
for(I=-5; I<=10; I+=3)
printf("%dnt",I);
printf("n");
172. /* ------------------------------------------------------------
-----
Nama Program: ADP_3_for_perulangan_negatif.cpp
Statemen for Perulangan Negatif dengan Pengurangan 1
------------------------------------------------------------
------ */
#include <stdio.h>
#include <stdlib.h>
main()
{
int I;
printf("Contoh Program Penggunaan Statemen for");
printf(" Perulangan Negatif dengan Pengurangan 1n");
printf(“_______________________________n");
printf("nt");
for(I=5; I>0; I--)
printf("%dnt",I);
printf("n");
173. /* ------------------------------------------------------------
-----------------
Nama Program: ADP_3a_for_perulangan_negatif.cpp
Statemen for Perulangan Negatif dengan Pengurangan Lebih dari 1
------------------------------------------------------------
------------------ */
#include <stdio.h>
#include <stdlib.h>
main()
{
int I;
printf("Contoh Program Penggunaan Statemen for");
printf(" Perulangan Negatif dengan Pengurangan Lebih dari 1n");
printf("_______________________________________n");
printf("nt");
for(I=5; I>=-5; I-=3)
printf("%dnt",I);
printf("n");
174. /* -------------------------------
Nama Program: ADP_25.cpp
Statemen for Perulangan Dengan
Blok Statemen
------------------------------- */
#include <stdio.h>
#include <stdlib.h>
main()
{
int I,N;
float X, Rata, Total=0;
printf("Contoh Program Penggunaan Statemen
forn");
printf("untuk Perulangan Dengan Blok
Statemenn");
printf("_____________________________________n");
printf("n");
/*Masukkan Jumlah Data*/
printf("Masukkan Jumlah Data yang diinginkan: ");
scanf("%d",&N);
printf("n");
/*Memasukkan Nilai dari masing-masing Data*/
for(I=1; I<=N; I++){
printf("Data ke %d : ",I);scanf("%f",&X);
Total=Total+X;
}
Rata=Total/N;
/*Menampilkan Hasil*/
printf("Banyaknya data: %dn",N);
printf("Nilai total seluruh data:
%.2fn",Total);
printf("Rata-rata nilai:
%.2fn",Rata);
printf("n”);
system ("pause");
}
175.
176. /* ----------------------------------------------------------------------
-
Nama Program: ADP_4_statemen_for_tanpa_nilai_awal.cpp
Statemen for Tanpa Nilai Awal
----------------------------------------------------------------------
- */
#include <stdio.h>
#include <stdlib.h>
main()
{
int X;
X=1;
printf("Contoh Program Penggunaan Statemen forn");
printf("Tanpa Nilai Awaln");
printf(“_______________________________n");
printf("n");
for(; X<=5; X++)
printf("Contoh Penggunaan Statemen For Tanpa Nilai Awaln");
printf("n");
177. /* --------------------------------------------------------------------
-----------------
Nama Program: ADP_5_statemen_for_tanpa_peningkatan_penurunan.cpp
Statemen for Tanpa Nilai Peningkatan atau Penurunan
---------------------------------------------------------------------
------------------ */
#include <stdio.h>
#include <stdlib.h>
main()
{
int X;
printf("Contoh Program Penggunaan Statemen forn");
printf("Tanpa Nilai Peningkatan atau Penurunann");
printf(“_______________________________n");
printf("n");
for(X=1; X<=5;){
X++;
printf("Contoh Penggunaan Statemen For Tanpa Nilai Peningkatan atau
Penurunann");
}
printf("n");
180. /* ----------------------------------------------------------------------
-------------------------
Nama Program: ADP_6_for_tanpa_nilai_awal_dan_peningkatan_penurunan.cpp
Statemen for Tanpa Nilai Awal dan Peningkatan atau Penurunan
----------------------------------------------------------------------
------------------------- */
#include <stdio.h>
#include <stdlib.h>
main()
{
int X=1;
printf("Contoh Program Penggunaan Statemen forn");
printf("Tanpa Nilai Awal dana Peningkatan atau Penurunann");
printf(“_____________________________________n");
printf("n");
for(; X<=5;){
X++;
printf("Contoh Penggunaan Statemen For Tanpa Nilai Awal");
printf(" dan Peningkatan atau Penurunann");
}
printf("n");
182. /* -------------------------------------------------------------------
------------------------------------
Nama Program:
ADP_7a_for_tanpa_nilai_awal_akhir_dan_peningkatan_penurunan.cpp
Statemen for Tanpa Nilai Awal, Akhir dan Peningkatan atau Penurunan
dengan statemen break
-------------------------------------------------------------------
-------------------------------------- */
#include <stdio.h>
#include <stdlib.h>
main()
{
printf("Contoh Program Penggunaan Statemen forn");
printf("Tanpa Nilai Awal, Nilai Akhir, dan Peningkatan atau Penurunann");
printf("_____________________________________________n");
printf("n");
for(;;){
printf("Contoh Penggunaan Statemen For Tanpa Nilai Awal");
printf(" dan Peningkatan atau Penurunann");
printf(" dengan statemen breakn");
break;
}
printf("n");
183. /* -------------------------------------
Nama Program: ADP_25.cpp
Statemen for Tanpa Nilai Awal,
Akhir, dan Peningkatan atau Penurunan
------------------------------------- */
#include <stdio.h>
#include <stdlib.h>
main()
{
printf("Contoh Program Penggunaan Statemen forn");
printf("Tanpa Nilai Awal, Akhir, dan");
printf("Peningkatan atau Penurunann");
printf("_______________________________________n");
printf("n");
for(;;)
{
printf("Tampilan ini terus ditampilkan TANPA BERHENTIn");
printf("n");
break;
}
system ("pause");
}
184. /* ------------------------------------------
Nama Program: ADP_25.cpp
Statemen for dengan Perulangan menggunakan
Statemen Kosong
------------------------------------------ */
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
main()
{
int I;
long int J;
clrscr();
printf("Contoh Variasi Program di Kondisi Perulangann");
printf("____________________________________________n");
printf("n");
for(I=1; I<=10;I++){
gotoxy(40,12);printf("/");
for(J=0;J<500000000;J++);
gotoxy(40,12);printf("");
for(J=0;J<500000000;J++);
}
system ("pause");
}
185. /* --------------------------------------------
Nama Program: ADP_25.cpp
Contoh Variasi Program di Kondisi Perulangan
-------------------------------------------- */
#include <stdio.h>
#include <stdlib.h>
main()
{
int I, J, N;
printf("Contoh Variasi Program Menggunakan Operator Koman");
printf("________________________________________________n");
printf("n");
N=5;
for(I=1,J=N;I<=N;I++,J--)
printf("I = %d dan Y = %dn",I,J);
system ("pause");
}
186. /* -------------------------------------
Nama Program: ADP_25.cpp
Contoh Program Statemen for bersarang
------------------------------------- */
#include <stdio.h>
#include <stdlib.h>
main()
{
int I, J;
printf("Contoh Program Penggunaan Statemen for
bersarangn");
printf("________________________________________________n");
printf("n");
for(I=1;I<=3;I++){
for(J=1;J<=4;J++)
printf(" (I = %d, Y = %d)",I,J);
printf("n");
188. Pernyataan dapat berupa pernyataan kosong,
pernyataan tunggal atau blok pernyataan
yang akan diproses secara berulang-ulang.
Proses perulangan akan masih dilakukan jika
kondisi yang diseleksi di pernyataan while
masih bernilai benar dan perulangan akan
berhenti jika kondisinya sudah bernilai salah.
195. Program komputer yang dibuat untuk
menjawab permasalahan umumnya
berukuran sangat besar, karena itu perlu
dibuat potongan-potongan program yang
lebih kecil (biasa disebut modul) yang lebih
mudah untuk ditangani dibanding dengan
program yang terdiri dari banyak baris.
Modul program ini disebut fungsi (function).
196. Pemrograman C ditulis dengan
mengkombinasikan fungsi baru yang ditulis
oleh pemrogram (disebut programmer-
defined function) dengan fungsi yang telah
tersedia di dalam pustakanya (disebut
standard library).
Fungsi merupakan blok dari kode yang
dirancang untuk melakukan tugas khusus.
197. Tujuan pembuatan fungsi:
1. Program menjadi lebih terstruktur dengan
memecah program menjadi beberapa
program yang lebih kecil, yang masing-
masing mempunyai tugas tertentu.
2. Mengurangi duplikasi kode atau penulisan
kode yang sama yang ditulis secara
berulang-ulang.
198. Supaya dapat digunakan, fungsi harus dapat
dipanggil dari bagian program yang
membutuhkannya. Karena itu fungsi harus
diberi nama dan nama ini harus didefinisikan
dan dideklarasikan terlebih dahulu.
Pemanggilan fungsi bertujuan untuk
mengerjakan suatu tugas tertentu yang dapat
berupa tugas input/output, tugas
penyeleksian, atau tugas perhitungan.
199. Bagian program yang menggunakan fungsi
dapat berkomunikasi dengan fungsinya lewat
pengiriman parameter-parameter yang
dilakukan melalui argumen-argumen fungsi.
200. Fungsi terdiri dari dua buah komponen
utama, yaitu definisi fungsi dan tubuh fungsi.
Definisi fungsi berisi tipe dari fungsi, nama
fungsi, dan argumen-argumennya jika
digunakan.
Tubuh fungsi berisi statemen-statemen yang
akan melakukan tugas yang diberikan kepada
fungsi tersebut, yang ditulis di dalam tanda
kurung kurawal buka dan tutup.
202. Definisi fungsi ditulis sebelum tubuh fungsi
tanpa diakhiri dengan titik koma.
Tipe di definisi fungsi menunjukkan tipe dari
fungsi, dimana tipe dari fungsi ini tergantung
dari tipe data hasil balik yang akan diberikan
oleh fungsi.Jika hasil balik dari fungsi
misalnya berupa nilai pecahan, maka tipe
fungsi dapat dibuat float atau double atau
long double.
203. Jika fungsi tidak memberikan hasil balik,
maka tipenya adalah void. Tipe dari fungsi ini
dapat tidak ditulis jika tipenya adalah int atau
char. Jadi, jika suatu fungsi didefinisikan
tanpa menggunakan tipenya, maka akan
dianggap bertipe int.
Nama dari fungsi merupakan nama yang
dibentuk sendiri oleh pembuat program.
204. Sebuah fungsi dapat memiliki satu atau lebih
argumen yang ditulis dengan dipisahkan oleh
koma atau suatu fungsi dapat tidak
mempunyai argumen sama sekali. Jika
argumen tidak digunakan, kurung buka dan
kurung tutup setelah nama dari fungsi tetap
harus dituliskan.
Tipe data void dapat dituliskan sebagai
pengganti argumen untuk fungsi yang tidak
menggunakan argumen.
205. Argumen yang berada di definisi fungsi ini
disebut dengan argumen formal atau
parameter formal. Parameter-parameter
formal ini dimaksudkan sebagai alat
komunikasi untuk data yang dikirimkan dari
bagian program yang menggunakan fungsi
ke fungsi bersangkutan.
206. Parameter-parameter formal dapat dituliskan
dengan dua cara, yaitu cara baru dan cara lama.
Cara baru dilakukan dengan menuliskan
parameter-parameter formal yang diawali
dengan tipe datanya. Contohnya:
int Fungsi_Ku(float A, int B, char C)
Contoh yang salah:
int Fungsi_Ku(float A, B, char C)
207. Cara lama untuk menuliskan parameter formal adalah
dengan memecahnya menjadi dua bagian. Pertama, semua
parameter formal ditulis tanpa tipe datanya. Kedua,
parameter-parameter formal ini dideklarasikan terpisah
dengan tipe datanya setelah definisi dari fungsi. Contoh:
int Fungsi_Ku(A, B, C)
float A;
int B;
char C;
{
/*tubuh fungsi*/
}
/*tidak diakhiri titik koma*/
/*diakhiri titik koma*/
/*diakhiri titik koma*/
/*diakhiri titik koma*/
208. Standar ANSI lebih menganjurkan
penggunaan cara baru.
Penulisan parameter-parameter formal
dengan cara lama digunakan pada awal
bahasa C diciptakan dan masih banyak yang
menggunakannya sampai saat ini untuk
menjaga kompatibilitas dengan kompiler C
yang menggunakan cara lama. Kompiler-
kompiler C yang baru umumnya mendukung
dua cara penulisan ini.
209. Berikut ini beberapa contoh penulisan
definisi fungsi yang benar:
char Ke_Besar(char C)
void Tampil_N(int N)
void Hapus_Layar()
void Hapus_Layar(void)
double Maksimum(double X, double Y)
210. Parameter formal adalah variabel yang ada
pada daftar parameter dalam definisi fungsi.
Parameter aktual adalah parameter yang
dapat berupa variabel atau konstanta maupun
ungkapan yang dipakai dalam pemanggilan
fungsi.
211. Suatu fungsi yang memberikan hasil balik
selain tipe int perlu dideklarasikan sebelum
digunakan, karena jika suatu fungsi tidak
dideklarasikan akan dianggap fungsi tersebut
memberikan nilai balik berupa tipe int.
Untuk alasan dokumentasi program yang
baik, sebaiknya semua fungsi yang digunakan
dideklarasikan terlebih dahulu termasuk yang
bertipe int.
212. Beberapa kompiler C dapat diatur untuk
selalu mendeteksi semua deklarasi fungsi-
fungsi yang digunakan termasuk yang bertipe
int.
Deklarasi fungsi ditulis sebelum fungsi
tersebut digunakan.
213. Bentuk umum deklarasi fungsi:
tipe nama-fungsi(argumen);
Tipe adalah tipe dari fungsi yang akan
digunakan dan harus sama dengan tipe
fungsi yang didefinisikan
214. /* ----------------------------------------------------
--------------------
Nama Program: ADP_fungsi_1_deklarasi_fungsi.cpp
Mendeklarasikan Fungsi
----------------------------------------------------
-------------------- */
#include <stdio.h>
#include <stdlib.h>
double Absolut(double X); //deklarasi fungsi
main()
{
float Nilai;
printf("Contoh Program Mendeklarasikan Fungsin");
printf("__________________________________n");
printf("n");
Nilai = -123.45;
printf("%7.2f nilai mutlaknya adalah %7.2fn", Nilai,
Absolut(Nilai));
printf("n");
system("pause");
}
//fungsi untuk memutlakkan nilai negatip
double Absolut(double X) //definisi fungsi
{
if(X<0) X=-X;
215. /* ----------------------------------------------------
--------------------
Nama Program: ADP_fungsi_1_deklarasi_fungsi.cpp
Mendeklarasikan Fungsi
----------------------------------------------------
-------------------- */
#include <stdio.h>
#include <stdlib.h>
//fungsi untuk memutlakkan nilai negatip
//dimana fungsi dideklarasikan terlebih dahulu
double Absolut(double X) //definisi fungsi
{
if(X<0) X=-X;
return(X);
}
main()
{
float Nilai;
printf("Contoh Program Mendeklarasikan Fungsin");
printf("__________________________________n");
printf("n");
Nilai = -123.45;
printf("%7.2f nilai mutlaknya adalah %7.2fn", Nilai,
Absolut(Nilai));
printf("n");
system("pause");
216. Prototype fungsi adalah mendeklarasikan
fungsi dengan menyebutkan argumen
fungsinya.
Pada contoh program
ADP_fungsi_1_deklarasi_fungsi.cpp,
prototype fungsi terdapat pada bagian
deklarasi fungsi dimana fungsi double
Absolut menyebutkan argumen fungsi
(double X).
217. Suatu fungsi dibuat untuk maksud
menyelesaikan tugas tertentu.
Suatu fungsi dapat hanya melakukan suatu tugas
saja tanpa memberikan suatu hasil balik atau
melakukan suatu tugas dan kemudian
memberikan suatu hasil balik.
Fungsi yang hanya melakukan suatu tugas saja
tanpa memberikan hasil balik misalnya adalah
fungsi untuk menampilkan hasil di layar.
218. /* ----------------------------------------------------------------------
----
Nama Program: ADP_fungsi_2_hasil_balik_fungsi.cpp
Hasil Balik Fungsi
-----------------------------------------------------------------------
---- */
#include <stdio.h>
#include <stdlib.h>
void Tampil_S_N(char *String, int N); //prototype fungsi
main()
{
printf("Contoh Program Hasil Balik Fungsin");
printf("_____________________________n");
printf("n");
Tampil_S_N("Bahasa Cn",3);
printf("n");
system("pause");
}
//fungsi menampilkan n kali nilai string
void Tampil_S_N(char *String, int N) //definisi fungsi
{
int I;
for(I=1;I<=N;I++) printf(String);
}
219. Fungsi Tampil_S_N() pada contoh di slide
sebelumnya tidak memberikan hasil balik. Fungsi
yang tidak memberikan hasil balik adalah fungsi
yang mempunyai tipe hasil void.
Jika suatu fungsi memberikan hasil balik,
makanilai hasil balik yang diberikan oleh fungsi
dapat dilakukan oleh statemen return yang
diikuti oleh nilai hasil baliknya yang ditulis dalam
tanda kurung. Statemen return saja tanpa diikuti
oleh nilai baliknya akan mengembalikan proses
dari fungsi kebagian program yang
memanggilnya tanpa memberikan nilai hasil
baliknya.
220. /* ----------------------------------------------------------------------
----
Nama Program: ADP_fungsi_2a_hasil_balik_fungsi.cpp
Hasil Balik Fungsi
-----------------------------------------------------------------------
---- */
#include <stdio.h>
#include <stdlib.h>
void Tampil_S_N(char *String, int N); //prototype fungsi
main()
{
printf("Contoh Program Hasil Balik Fungsin");
printf("_____________________________n");
printf("n");
Tampil_S_N("Bahasa Cn",3);
printf("n");
system("pause");
}
//fungsi menampilkan n kali nilai string
void Tampil_S_N(char *String, int N) //definisi fungsi
{
int I;
for(I=1;I<=N;I++) printf(String);
return;
}
221. Program berikut ini dimaksudkan untuk
menghitung N Faktorial (N!). Nilai N! adalah
sebesar 1 x 2 x ... x N dengan N adalah nilai
positif. Jika N bernilai negatif atau nol,maka
fungsi faktorial() akan memberikan hasil balik
nilai 0. Nilai F adalah hasil balik yang akan
diberikan oleh fungsi untuk nilai N positif.
Variabel F ini pertama kali harus diberikan nilai
awal 1. Jika nilai F mempunyai nilai awal 0, maka
hasilnya akan selalu nol, karena bilangan apapun
dikalikan dengan 0 hasilnya 0.
222. /* --------------------------------------------------
Nama Program: ADP_fungsi_2b_hasil_balik_fungsi.cpp
Hasil Balik Fungsi
-------------------------------------------------- */
#include <stdio.h>
#include <stdlib.h>
long int Faktorial(int N); //prototype fungsi
main()
{
int N;
long int Fak;
printf("Contoh Program Hasil Balik Fungsin");
printf("_________________________________n");
printf("n");
printf("Jumlah Faktorial: ");scanf("%d",&N);
Fak = Faktorial(N);
printf("%d faktorial = %ldn",N,Fak);
printf("n");
system("pause");
}
//fungsi menghitung N faktorial
long int Faktorial(int N) //definisi fungsi
{
int I;
long int F=1;
if(N<=0)
return(0);
for(I=2;I<=N;I++) F *=I;
return(F);
}
223. Program di atas memberikan nilai hasil balik
dengan tipe long int. Tipe nilai hasil balik
adalah tipe dari fungsinya, sehingga fungsi
Faktorial() ini juga harus bertipe long int.
Hubungan antara bagian program yang
memanggil fungsi, parameter aktual,
parameter formal, dan hasil balik dari fungsi
dapat digambarkan seperti pada slide
berikutnya.
224. Hasil dari fungsi Faktorial() ini,yaitu nilai dari
F akan dtierima oleh variabel Fak di bagian
program yang memanggil fungsi.
225. Variabel-variabel yang digunakan untuk
operasi fungsi mempunyai ruang lingkup
tertentu, yaitu apakah hanya berlaku di blok
statemen saja, di dalam suatu fungsi saja
ataukah di semua bagian program.
Terdapat tiga macam variabel, yaitu variabel
lokal, global, atau statis.
226. Variabel Lokal adalah variabel yang nama dan
nilainya hanya dikenal di suatu blok statemen
tertentu saja atau di dalam suatu fungsi.
Variabel bersifat lokal jika dideklarasikan di
dalam blok bersangkutan.
Variabel lokal akan dihapus dari memori jika
proses sudah meninggalkan blok statemen
dimana variabel lokal terletak.
227. /* ----------------------------------------------
Nama Program: ADP_fungsi_3_variabel_fungsi.cpp
Variabel Lokal Fungsi
---------------------------------------------- */
#include <stdio.h>
#include <stdlib.h>
float Tambah(float A, float B); //prototype fungsi
main()
{
float Hasil;
printf("Contoh Program Variabel Lokal Fungsin");
printf("____________________________________n");
printf("n");
Hasil = Tambah(2,3);
printf("%fn", Hasil); //Hasil variabel lokal fungsi utama
printf("n");
system("pause");
}
//fungsi menampilkan menghitung penambahan
float Tambah(float A, float B) //definisi fungsi
{
float C; //C variabel lokal fungsi Tambah
C = A + B;
return(C);
}
228. Variabel C pada contoh program di atas
merupakan variabel lokal di fungsi Tambah().
Variabel C ini tidak dikenal di fungsi main()
(fungsi utama), sehingga variabel ini tidak
dapat digunakan di fungsi utama. Sebaliknya
variabel Hasil merupakan variabel yang
sifatnya lokal di fungsi utama dan tidak
dikenal di fungsi Tambah().
229. Varibel Global adalah variabel yang dikenal di
semua bagian-bagian tertentu dari program.
Variabel-variabel global dapat dibuat dengan
cara mendeklarasikan di luar suatu blok
statemen atau di luar fungsi-fungsi yang
menggunakannya.
230. /* ----------------------------------------------
Nama Program: ADP_fungsi_3_variabel_fungsi.cpp
Variabel Global Fungsi
---------------------------------------------- */
#include <stdio.h>
#include <stdlib.h>
float Tambah(float A, float B); //prototype fungsi
float C; //C variabel global
main()
{
printf("Contoh Program Variabel Global Fungsin");
printf("_____________________________________n");
printf("n");
Tambah(2,3);
printf("%fn",C);
printf("n");
system("pause");
}
//fungsi menghitung penambahan
float Tambah(float A, float B) //definisi fungsi
{
C = A + B;
return(C);
}
231. Variabel C dideklarasikan di luar fungsi utama
dan fungsi Tambah(),sehingga bersifat global
(dikenal dan dianggap sama) di kedua fungsi
tersebut. Karena bersifat global, maka
perubahan nilai variabel C di salah satu
fungsi tersebut berarti juga merubah nilai
variabel C di fungsi yang lainnya.
232. Variabel statik bersifat tetap, yaitu tidak dihapus
variabel dan nilainya selama proses program.
Berbeda dengan variabel lokal, yaitu variabelnya
akan dihapus setelah proses keluar dari blok
yang mendeklarasikannya, maka variabel statik
akan tetap ada dan nilainya akan tetap
dipertahankan walaupun proses telah keluar dari
bloknya.
Variabel statik dibuat dengan dideklarasikan
menggunakan pengubah dari (modifier) static.
233. /* ----------------------------------------------
Nama Program: ADP_fungsi_5_variabel_fungsi.cpp
Variabel Statik Fungsi
---------------------------------------------- */
#include <stdio.h>
#include <stdlib.h>
long int X(long int N); //prototype fungsi
main()
{
int I, N;
long int Fak;
printf("Contoh Program Variabel Statik Fungsin");
printf("________________________________n");
printf("n");
printf("Berapa Jumlah Faktorial: ");scanf("%d",&N);
printf("n");
//menghitung N faktorial
if(N<=0) Fak=0;
else
for(I=1;I<=N;I++) Fak=X(I);
printf("%d faktorial = %ldn", N, Fak);
system("pause");
}
//fungsi X
long int X(long int I) //definisi fungsi
{
static long int F=I;
F = F * I;
return(F);
}
234. Pengiriman paramater ke suatu fungsi dapat
dilakukan dengan dua cara, yaitu pengiriman
secara nilai (by value) atau secara acuan (by
reference).
Pengiriman secara nilai yang dikirimkan
adalah nilai, sedangkan pengiriman secara
acuan yang dikirimkan adalah alamat dari
nilainya.
235. Pengiriman parameter secara nilai mempunyai karakteristik:
1. Yang dikirimkan ke fungsi adalah nilai dari datanya, bukan
alamat memori letak dari datanya.
2. Fungsi yang menerima kiriman nilai ini akan menyimpannya di
alamat yang terpisah dari nilai aslinya yang digunakan oleh
bagian program yang memanggil fungsi.
3. Karena alasan nomor 2 di atas, maka perubahan nilai di fungsi
tidak akan merubah nilai asli di bagian program yang memanggil
fungsi walaupun keduanya menggunakan nama variabel yang
sama.
4. Pengirimannya searah, artinya dari bagian program yang
memanggil fungsi ke fungsi yang dipanggil.
5. Pengiriman suatu nilai dapat dilakukan untuk suatu ungkapan,
tidak hanya untuk sebuah variabel atau elemen larik atau
konstanta saja.
236. /* ------------------------------------------------------
----------------------------------
Nama Program:
ADP_fungsi_6_pengiriman_parameter_byvalue.cpp
Pengiriman Parameter Secara Nilai (by value)
------------------------------------------------------
---------------------------------- */
#include <stdio.h>
#include <stdlib.h>
void Secara_Nilai(float A, float B, char C); //prototype fungsi
main()
{
char C = 'a';
float A = 25, *Alamat_A;
Alamat_A = &A;
printf("Contoh Program Pengiriman Parameter Secara Nilain");
printf("__________________________________________n");
printf("n");
Secara_Nilai(A, A/3, C);
printf("Di fungsi utama setelah memanggil fungsi Secara_Nilai:
n");
printf("Nilai A adalah %f di alamat %pn", A, Alamat_A);
printf("Nilai A/3 adalah %fn", A/3);
printf("Nilai karakter C adalah %cn", C);
printf("n");
system("pause");
}
//fungsi Secara_Nilai
void Secara_Nilai(float A, float B, char C) //definisi fun
{
float *Alamat_A;
Alamat_A = &A;
A = 7;
printf("Di fungsi Secara_Nilai: n");
printf("Nilai A adalah %f di alamat %pn", A, Alamat
printf("Nilai B adalah %fn", B);
printf("Nilai karakter C adalah %cnn", C);
}
237.
238. Dari hasil program contoh di atas dapat dijelaskan sebagai berikut:
1. Parameter-parameter aktual yang dikirimkan adalah nilai datanya,
yaitu untuk variabel A, A/3 dan C sebagai berikut:
Secara_Nilai(A, A/3, C);
2. Variabel-variabel A dan C menempati memori berbeda untuk fungsi
utama yang memanggil fungsi dan yang digunakan di fungsi
Secara_Nilai(). Untuk fungsi utama, nilai variabel A disimpan di alamat
0012FF50, sedang di fungsi Secara_Nilai(), nilai variabel A disimpan di
alamat memori 0012FF38.
3. Perubahan nilai variabel A di fungsi Secara_Nilai() menjadi bernilai 7
tidak merubah nilai variabel A di fungsi utama yang akan tetap
bernilai 25.
4. Pengiriman suatu nilai merupakan pengiriman satu arah seperti
terlihat berikut ini
5. Pengiriman secara nilai dapat mengirimkan suatu ungkapan, yaitu A/3