Jelajahi eBook
Kategori
Jelajahi Buku audio
Kategori
Jelajahi Majalah
Kategori
Jelajahi Dokumen
Kategori
Algoritma (1)
A. Tujuan
1. Mampu memahami persoalan
2. Mendesain penyelesaian persoalan ke dalam algoritma
3. Menotasikan algoritma yang sudah dibuat menggunakan notasi flowchart
B. DASAR TEORI
Dalam pembuatan suatu aplikasi program tentunya memerlukan suatu
pemikiran dan konsep yang terarah, supaya dalam pengerjaannya sedikit
mengalami kesulitan. Untuk membantu hal tersebut maka diperlukan suatu
algoritma yang akan membimbing dalam pengerjaan berbagai hal tidak hanya
dalam pembuatan program aplikasi. Contoh dalam dunia nyata yaitu suatu ketika
kita ingin berangkat ke sekolah. Untuk dapat mencapai kesekolah maka
seseorang akan menggunakan caranya masing-masing. Apabila yang mempunyai
motor akan naik motor, apabila ada yang tidak punya maka akan mengambil cara
lain. Sehingga disimpulkan bahwa Algoritma adalah urutan langkah-langkah
logika yang menyatakan suatu tugas dalam menyelesaikan suatu masalah atau
problem.
1.1 Software
Software adalah suatu aplikasi atau program yang digunakan untuk membantu
tugas-tugas manusia yang terdapat di dalam operating system (OS). Sebagai
contoh software perkantoran, penjadwalan, perhitungan, design dll. Dibawah ini
beberapa langkah dalam proses pembuatan suatu program atau software adalah :
Mendefinisikan masalah dan menganalisanya
Langkah awal yang harus dilakukan adalah mengidentifikasikan masalah
antara lain tujuan dari pembuatan program, parameter-parameter yang digunakan,
fasilitas apa saja yang akan disediakan oleh program. Kemudian menentukan
metode atau algoritma apa yang akan diterapkan untuk menyelesaikan masalah
1.2 Algoritma
Algoritma adalah urutan langkah-langkah logika yang menyatakan suatu tugas
dalam menyelesaikan suatu masalah atau problem. Contoh : Buat algoritma untuk
menentukan apakah suatu bilangan merupakan bilangan ganjil atau bilangan
genap. Algoritmanya :
1. Masukkan sebuah bilangan sembarang
2. Bagi bilangan tersebut dengan bilangan 2
3. Hitung sisa hasil bagi pada langkah 2.
4. Bila sisa hasil bagi sama dengan 0 maka bilangan itu adalah bilangan
genap tetapi bila sisa hasil bagi sama dengan 1 maka bilangan itu adalah
bilangan ganjil.
Dari contoh algoritma di atas tentang menentukan apakah suatu bilangan adalah
bilangan ganjil atau bilangan genap, flowchart dari program adalah sebagai
berikut :
1.3.1 Editor
Editor adalah sebuah fasilitas yang disediakan oleh bahasa C dan C++
untuk menuliskan kode yang telah didesain oleh programmer. Editor yang
disediakan pada umumnya sama dengan yang disediakan oleh perangkat lunak
lainnya yang menangani file TEXT. Akan tetapi untuk beberapa editor terbaru
model TEXT ini dapat dibedakan antara keyword, variabel, dan sebagainya.
1.3.2 Interpreter
Kebanyakan perangkat lunak bahasa pemrograman menyediakan fasilitas
Interpreter. Demikian juga dengan bahasa C. Interpreter digunakan untuk
membaca kode yang telah ditulis oleh programmer untuk diterjemahkan oleh
Interpreter C dan C++. Sehingga sekumpulan kode yang telah ditulis dapat
berjalan sesuai dengan sintaks yang telah ditentukan oleh bahasa C dan C++.
1.3.3 Compiler
Tidak semua perangkat lunak bahasa pemrograman menyediakan fasilitas
Compiler. Tetapi untuk bahasa C dan C++, fasilitas ini disediakan. Compiler
digunakan untuk mentranslator sekumpulan kode yang telah ditulis sesuai dengan
sintak yang ditentukan oleh bahasa C ke bentuk yang lain. Dalam hal ini diubah
ke dalam bentuk bahasa Assembly sehingga selanjutnya akan menghasilkan suatu
file execute (.exe). di mana file tersebut dapat berdiri sendiri tanpa memerlukan
perangkat lunak lainnya.
1.3.4 Debugging
Bahasa C dan C++ menyediakan fasilitas debugging yang dapat digunakan
untuk menelusuri setiap kode yang telah ditulis. Sehingga programmer dapat
mengetahui perubahan dan pengaruh serta kesalahan setiap kode per baris yang
telah ditulis. Fasilitas debug yang disediakan antara lain:
1. Debug per baris.
2. Debug per prosedur/fungsi.
3. Debug per breakpoint.
Ada beberapa software yang dapat digunakan untuk membuat program dengan
bahasa C dan C++, antara lain:
1. Turbo C++
2. Borland C++
3. Dev-C++
4. GCC.
Untuk software nomor 1 sampai 3 digunakan pada sistem operasi windows
sedangkan untuk software nomor 4 digunakan di sistem operasi Linux.
C. TUGAS PENDAHULUAN
Untuk semua persoalan di bawah ini, desainlah algoritma dan flowchartnya.
D. PERCOBAAN
1. Menjumlahkan 2 buah bilangan dan mencetak hasilnya.
2. Mengalikan 2 buah bilangan dan mencetak hasilnya.
3. Memberikan opsi menjumlahkan dan mengalikan 2 buah bilangan dan
menampilkan hasilnya.
4. Mengecek bilangan di antara 2 bilangan masukan, apakah sama ataukah
lebih besar salah satunya, dan tampilkan hasilnya.
E. LAPORAN RESMI
Kumpulkan hasil percobaan di atas
PENGENALAN BAHASA C
Dan Dev-C (2)
A. Tujuan
1. Mengenal sintaks dan fungsi-fungsi dasar dalam bahasa C
2. Mampu membuat flowchart untuk algoritma untuk memecahkan suatu
masalah sederhana, selanjutnya mengimplementasikannya dalam bahasa C
3. Mampu mengoperasikan Dev-C
B. DASAR TEORI
Program C pada hakekatnya tersusun atas sejumlah blok fungsi. Sebuah
program minimal mengandung sebuah fungsi. Fungsi pertama yang harus ada
dalam program C dan sudah ditentukan namanya adalah main(). Setiap fungsi
terdiri atas satu atau beberapa pernyataan, yang secara keseluruhan dimaksudkan
untuk melaksanakan tugas khusus. Bagian pernyataan fungsi (sering disebut tubuh
fungsi) diawali dengan tanda kurung kurawal buka ( { ) dan diakhiri dengan tanda
kurung kurawal tutup ( } ). Di antara kurung kurawal itu dapat dituliskan
statemen-statemen program C. Namun pada kenyataannya, suatu fungsi bisa saja
tidak mengandung pernyataan sama sekali. Walaupun fungsi tidak memiliki
pernyataan, kurung kurawal haruslah tetap ada. Sebab kurung kurawal
mengisyaratkan awal dan akhir definisi fungsi. Berikut ini adalah struktur dari
program C
2.1.2 #include
#include merupakan salah satu jenis pengarah praprosesor (preprocessor
directive). Pengarah praprosesor ini dipakai untuk membaca file yang di antaranya
berisi deklarasi fungsi dan definisi konstanta. Beberapa file judul disediakan
dalam C. File-file ini mempunyai ciri yaitu namanya diakhiri dengan ekstensi .h.
Misalnya pada program #include <stdio.h> menyatakan pada kompiler agar
membaca file bernama stdio.h saat pelaksanaan kompilasi. Bentuk umum
#include:
#include namafile
Bentuk pertama (#include <namafile>) mengisyaratkan bahwa pencarian file
dilakukan pada direktori khusus, yaitu direktori file include. Sedangkan bentuk
kedua (#include namafile) menyatakan bahwa pencarian file dilakukan pertama
kali pada direktori aktif tempat program sumber dan seandainya tidak ditemukan
pencarian akan dilanjutkan pada direktori lainnya yang sesuai dengan perintah
pada sistem operasi. Kebanyakan program melibatkan file stdio.h (file-judul I/O
standard, yang disediakan dalam C). Program yang melibatkan file ini yaitu
program yang menggunakan pustaka I/O (input-output) standar seperti printf().
Contoh:
#include <stdio.h>
main( )
{
printf(No : %d\n, 13);
printf(Nama : %s\n, ARY SULISTYO);
printf(Alamat : %f\n,90.4);
printf(Huruf : %c\n,A);
}
10
11
D. PERCOBAAN
Implementasikan semua desain yang telah dibuat dalam tugas pendahuluan
menggunakan bahasa pemrograman C
E. LAPORAN RESMI
Buat analisa dan kesimpulan
12
A. Tujuan
1. Menjelaskan tentang beberapa tipe data dasar (jenis dan jangkauannya)
2. Menjelaskan tentang Variabel
3. Menjelaskan tentang konstanta
4. Menjelaskan tentang berbagai jenis operator dan pemakaiannya
5. Menjelaskan tentang instruksi I/O
B. DASAR TEORI
Data berdasarkan jenisnya dapat dibagi menjadi lima kelompok, yang
dinamakan sebagai tipe data dasar. Kelima tipe data dasar adalah:
Bilangan bulat (integer)
Bilangan real presisi-tunggal
Bilangan real presisi-ganda
Karakter
Tak-bertipe (void)
Kata-kunci yang berkaitan dengan tipe data dasar secara berurutan di antaranya
adalah int (short int, long int, signed int dan unsigned int), float, double, dan char.
Tabel 3-1 memberikan informasi mengenai ukuran memori yang diperlukan dan
kawasan dari masing-masing tipe data dasar.
Tabel 3-1. Ukuran memori untuk tipe data
13
3.1 Variabel
Variabel adalah suatu pengenal di dalam program yang berguna untuk
menyipan nilai dari tipe data tertentu. Nilai dalam variable ini bersifat dinami,
artinya nilai dapat berubah selama program berjalan. Untuk menggunakan
variable kita harus mendefinisikan terlebih dahulu dengan tipe data tertentu.
Adapun aturan penulisan pengenal untuk sebuah variabel, konstanta atau fungsi
yang didefinisikan oleh pemrogram adalah sebagai berikut :
Pengenal harus diawali dengan huruf (A..Z, a..z) atau karakter garis bawah
( _ ).
Selanjutnya dapat berupa huruf, digit (0..9) atau karakter garis bawah atau
tanda dollar ($).
Panjang pengenal boleh lebih dari 31 karakter, tetapi hanya 31 karakter
pertama yang akan dianggap berarti.
Pengenal tidak boleh menggunakan nama yang tergolong sebagai katakata
cadangan (reserved words) seperti int, if, while dan sebagainya.
3.2 Konstanta
Konstanta adalah sebuah tetapan yang nilainya didapat bias dirubah selama
program dijalankan. Penulisan konstanta mempunyai aturan tersendiri, sesuai
dengan tipe masing-masing.
Konstanta karakter misalnya ditulis dengan diawali dan diakhiri dengan
tanda petik tunggal, contohnya : A dan @.
Konstanta integer ditulis dengan tanda mengandung pemisah ribuan dan
tak mengandung bagian pecahan, contohnya : 1 dan 32767.
Konstanta real (float dan double) bisa mengandung pecahan (dengan tanda
berupa titik) dan nilainya bisa ditulis dalam bentuk eksponensial
(menggunakan tanda e), contohnya : 27.5f (untuk tipe float) atau 27.5
(untuk tipe double) dan 2.1e+5 (maksudnya 2,1 x 105 ).
Konstanta string merupakan deretan karakter yang diawali dan diakhiri
dengan tanda petik- ganda (), contohnya :Pemrograman Dasar C.
14
C. TUGAS PENDAHULUAN
Tuliskan desain algoritma dan flowchart untuk soal-soal di bawah ini :
15
D. PERCOBAAN
1. Diketahui variabel-variabel sebagai berikut:
var_bulat = 32767;
var_pecahan = 339.234
var_karakter = 'S';
Buat program untuk menampilkan semua variabel di atas.
2. Diketahui variabel-variabel sebagai berikut:
int a = 12, b = 2, c = 3, d = 4;
Buat program untuk mencetak hasil :
a%b
a-c
a+b
a/d
a/d*d+a%d
a%d/d*a-c
3. Buatlah program untuk menghitung luas lingkaran.
4. Buatlah program untuk menghitung luas persegi.
5. Buatlah program untuk menghitung Diskriminan dari sebuah persamaan
kuadrat dengan nilai a, b dan c dengan tipe integer. D = b2 4*a*c.
E. LAPORAN RESMI
1. Tulis listing program dari semua percobaan yang dilakukan.
2. Kemudian tuliskan outputnya. Terangkan mengapa demikian.
3. Analisa dan buat kesimpulan
16
A. Tujuan
1. Menjelaskan tentang instruksi I/O
B. DASAR TEORI
Untuk keperluan menampilkan data/informasi, C menyediakan sejumlah
fungsi. Beberapa di antaranya adalah berupa printf() dan putchar() puts().
4.1 Fungsi putchar()
Fungsi putchar() digunakan khusus untuk menampilkan sebuah karakter di
layar. Penampilan karakter tidak diakhiri dengan perpindahan baris. Contoh :
putchar(A);
menghasilkan keluaran yang sama dengan
printf(%c,A);
4.2 Fungsi getchar()
Fungsi getchar() digunakan khusus untuk menerima masukan berupa sebuah
karakter dari keyboard. Contoh :
c = getchar();
maka variabel c akan berisi karakter yang diketikkan oleh user atau EOF (end of
file) jika ditemui akhir dari file. Selain fungsi scanf() dan getchar() adalagi fungsi
lain untuk menginputkan untuk sebaris karakter yaitu fungsi puts().
4.3 Fungsi scanf()
Fungsi ini digunakan untuk memasukkan berbagai jenis data. Misalnya untuk
memasukkan data jari-jari lingkaran pada program menghitung luas lingkaran.
scanf(%f,&radius);
Bentuk scanf() sesungguhnya menyerupai fungsi printf(). Fungsi ini melibatkan
penentu format yang pada dasarnya sama digunakan pada printf(). Secara umum
bentuk scanf() adalah sebagai berikut :
scanf(string kontrol, daftar_argumen);
17
Kalau hanya jumlah digit pecahan yang perlu ditentukan, panjang medan tak perlu
disertakan, misal :
18
printf(%.2f\n, 600.0);
printf(%.2f\n, 7500.25);
hasilnya :
600.00
7500.25
Untuk data yang berupa string, contoh :
printf(%12s, Bahasa C);
maka akan ditampilkan sebagai berikut
Tampak dalam berbagai jenis data di atas, penentu format yang mengandung
panjang medan, secara default akan menampilkan data dalam bentuk rata kanan
terhadap panjang medan yang diberikan. Untuk data string yang biasanya
dikehendaki untuk ditampilkan dalam bentuk rata kiri, maka sesudah tanda %
pada penentu format %s perlu disisipkan tanda (minus), contoh : printf(%-
12s, Bahasa C); menyatakan bahwa string akan ditampilkan dalam medan
dengan panjang 12 karakter dan diatur rata kiri. Sehingga tampilan di atas berubah
menjadi :
C. TUGAS PENDAHULUAN
Tuliskan desain algoritma dan flowchart untuk soal-soal di bawah ini :
D. PERCOBAAN
1. Buatlah program untuk mengkonversi suhu dari Celcius ke Fahrenheit
dengan rumus F = C * 1.8 + 32
Input : suhu dalam Celcius
Output : suhu dalam Fahrenheit
2. Buat program untuk menghitung luas lingkaran, dengan panjang jari-jari
yang diinputkan dari keyboard. Definiskan sebuah konstanta PI dengan
nilai 3.14.
19
E. LAPORAN RESMI
1. Tulis listing program dari semua percobaan yang dilakukan.
2. Kemudian tuliskan outputnya. Terangkan mengapa demikian.
3. Analisa dan buat kesimpulan
20
PENGAMBILAN KEPUTUSAN
(PERCABANGAN BERSYARAT) (5)
A. Tujuan
1. Menjelaskan tentang operator kondisi (operator relasi dan logika)
2. Menjelaskan penggunaan pernyataan if
3. Menjelaskan penggunaan pernyataan if-else
B. DASAR TEORI
Untuk keperluan pengambilan keputusan, C menyediakan beberapa jenis
pernyataan, berupa
Pernyataan if
Pernyataan if-else, dan
Pernyataan switch
Pernyataan-pernyataan tersebut memerlukan suatu kondisi, sebagai basis dalam
pengambilan keputusan. Kondisi umum yang dipakai berupa keadaan benar dan
salah. Keadaan benar (True) dianggap dalam keadaan 1 dan keadaan salah (False)
dianggap dalam keadaan 0.
5.1 Operator Relasi
Operator relasi adalah operator yang digunakan untuk menentukan relasi atau
hubungan dua buah nilai. Operator relasi biasa dipakai untuk membandingkan dua
buah nilai atau expresi aritmatika yang berbeda. Hasil pembandingan berupa
keadaan benar atau salah. Keseluruhan operator relasi pada C ditunjukkan pada
Tabel 5-1
Tabel 5.1 Operator Relasi
21
Kesalan yang sering terjadi pada saat pemakaian tanda relasi adalah tanda (==)
yang biasanya ditulis oleh para programmer adalah tanda (=).
5.2 Operator Logika
Operator logika biasa dipakai untuk menghubungkan ekspresi relasi yang berupa
perbandingan dua ekspresi relasi atau lebih dalam ekspresi logika. Operator ini
digunakan di operasi yang menghasilkan nilai benar (True) dan salah (False).
Keseluruhan operator logika ditunjukkan pada tabel 5-2.
Tabel 5-2. Operator logika
22
23
24
25
PENGAMBILAN KEPUTUSAN
(PERCABANGAN BERSYARAT) (6)
A. Tujuan
1. Menjelaskan penggunaan pernyataan if dalam if
2. Menjelaskan penggunaan pernyataan else-if
B. DASAR TEORI
Untuk keperluan pengambilan keputusan, C menyediakan beberapa jenis
Pernyataan if di dalam if Di dalam suatu pernyataan if (atau if-else) bisa saja
terdapat pernyataan if (atau ifelse) yang lain. Bentuk seperti ini dinamakan
sebagai nested if. Secara umum, bentuk dari pernyataan ini adalah sebagai berikut:
Kondisi yang akan diseleksi pertama kali adalah kondisi yang terluar
(kondisi-1). Jika kondisi-1 bernilai salah, maka statemen else yang terluar
(pasangan if yang bersangkutan) yang akan diproses. Jika else
(pasangannya tsb) tidak ditulis, maka penyeleksian kondisi akan
dihentikan.
Jika kondisi-1 bernilai benar, maka kondisi berikutnya yang lebih dalam
(kondisi-2) akan diseleksi. Jika kondisi-2 bernilai salah, maka statemen
else pasangan dari if yang bersangkutan yang akan diproses. Jika else
(untuk kondisi-2) tidak ditulis, maka penyeleksian kondisi akan
dihentikan.
if (kondisi-1)
if (kondisi-2)
....
if(kondisi-n)
pernyataan;
else
pernyataan;
....
else
26
pernyataan;
else
pernyataan;
Dengan cara yang sama, penyeleksian kondisi akan dilakukan sampai dengan
kondisi-n, jika kondisi-kondisi sebelumnya bernilai benar. Contoh implementasi
nested if ini misalnya pembuatan sebuah program kalkulator sederhana. User
memberikan masukan dengan format :
Pernyataan 1 operator Pernyataan 2
Jenis operasi yang dikenakan bergantung pada jenis operator ang dimasukkan oleh
user. Oleh karena itu program akan mengecek apakah operator berupa tanda *,
/, +, ataukah tanda - .
Jika operator berupa tanda * maka Pernyataan 1 akan dikalikan dengan
Pernyataan2.
Jika operator berupa tanda / maka Pernyataan 1 akan dibagi dengan
Pernyataan 2.
Jika operator berupa tanda + maka Pernyataan 1 akan dijumlahkan
dengan Pernyataan 2.
Jika operator berupa tanda - maka Pernyataan 1 akan dikurangi dengan
Pernyataan 2.
Kalau operator yang dimasukkan bukan merupakan salah satu dari jenis
operator di atas, maka ekspresi tersebut tidak akan diproses, dan user akan
mendapatkan pesan berupa : Invalid operator !
C. TUGAS PENDAHULUAN
Tuliskan desain algoritma dan flowchart untuk soal-soal di bawah ini :
D. PERCOBAAN
1. Buatlah program untuk menghitung diskriminan dan mencari akar-akar dari
persamaan kuadrat : ax2 + bx + c = 0 , dengan ketentuan sbb :
2
D = b - 4ac
Jika D = 0 , maka terdapat 2 akar real yang kembar, yaitu :
x1 = x2 = -b / 2a
27
28
Input :x
Output : x adalah bilangan prima / bukan bilangan prima
E. LAPORAN RESMI
1. Tulis listing program dari semua percobaan yang dilakukan.
2. Kemudian tuliskan outputnya. Terangkan mengapa demikian.
3. Analisa dan buat kesimpulan
29
PENGAMBILAN KEPUTUSAN
(PERCABANGAN BERSYARAT) (7)
A. Tujuan
1. Menjelaskan penggunaan pernyataan switch
B. DASAR TEORI
Pernyataan switch merupakan pernyataan yang dirancang khusus untuk
menangani pengambilan keputusan yang melibatkan sejumlah alternatif, misalnya
untuk menggantikan pernyataan if bertingkat dan digunakan untuk kondisi yang
memiliki nilai-nilai konstan. Bentuk umum pernyataan switch adalah : dengan
ekspresi dapat berupa ekspresi bertipe integer atau bertipe karakter. Demikian
juga konstanta-1, konstanta-2, , konstanta-n dapat berupa konstanta integer atau
karakter. Setiap pernyataan-i (pernyataan-1, , pernyataan-n) dapat berupa
pernyataan tunggal ataupun pernyataan jamak. Dalam hal ini urutan penulisan
pernyataan case tidak berpengaruh. Proses penyeleksian berlangsung sebagai
berikut :
switch (ekspresi)
{
case konstanta-1:
pernyataan-1;
......
break;
case konstanta-2:
.....
case konstanta-n:
pernyataan-n;
.......
break;
default:
.......
.......
break;
}
Pengujian pada switch akan dimulai dari konstanta-1. Kalau nilai
konstanta-1 cocok dengan ekspresi maka pernyataan-1 dijalankan. Kata
kunci break harus disertakan di bagian akhir setiap pernyataan case, yang
akan mengarahkan eksekusi ke akhir switch.
30
C. TUGAS PENDAHULUAN
Tuliskan desain algoritma dan flowchart untuk soal-soal di bawah ini :
D. PERCOBAAN
1. Tulislah kembali pernyataan-pernyataan di bawah ini dengan
menggunakan pernyataan switch
if( Nilai == 'X' ) sum = 0;
else if ( Nilai == 'Z' ) valid_flag = 1;
else if( Nilai == 'A' ) sum = 1;
else
printf("Unknown Nilai -->%c\n", Nilai );
2. Ubahlah program di bawah ini, implementasikan kembali dengan
menggunakan pernyataan switch
main()
{
int valid_operator = 1; //valid_operator diinisialisasi dengan logika 1
char operator;
float number1, number2, result;
printf("Masukkan 2 buah bilangan & sebuah operator\n");
printf("dengan format : number1 operator number2\n\n");
scanf("%f %c %f", &number1, &operator, &number2);
if(operator == '*')
31
32
E. LAPORAN RESMI
1. Tulis listing program dari semua percobaan yang dilakukan.
2. Kemudian tuliskan outputnya. Terangkan mengapa demikian.
3. Bila pada pilihan menu diinputkan angka selain 1, 2, 3 dan 4 pada soal no.
2, apa yang terjadi ? Jelaskan
4. Analisa dan buat kesimpulan
33
B. DASAR TEORI
Mengulang suatu proses merupakan tindakan yang banyak dijumpai dalam
pemrograman. Pada semua bahasa pemrograman, pengulangan proses ditangani
dengan suatu mekanisme yang disebut loop. Dengan menggunakan loop, suatu
proses yang berulang misalnya menampilkan tulisan yang sama seratus kali pada
layar dapat diimpelementasikan dengan kode program yang pendek. Pada
pemrograman proses perulangan dapat dibagi menjadi 2 bagian utama yaitu:
1 Perulangan yang sudah di ketahui jumlah perulangannya sebelum
perulangan tersebut di lakukan.
2 Perulangan yang belum di ketahui jumlah perulangannya sebelum
perulangan tersebut di lakukan. Dalam hal ini dapat dibagi menjadi dua
bagian yaitu:
a) kondisi perulangan diperiksa diawal perulangan.
b) kondisi perulangan diperiksa diakhir perulangan.
Untuk kasus 1 seharusnya menggunakan perulangan dengan penyataan for dan
akan dipelajari pada praktek ini. Sedangkan pada kasus 2a dan 2b akan dibahas
pada selanjutnya.
Bentuk pernyataan for :
for (ungkapan1; ungkapan2; ungkapan3)
pernyataan;
Keterangan:
Ungkapan1 : digunakan untuk memberikan inisialisasi terhadap
variabel pengendali loop.
Ungkapan2 : dipakai sebagai kondisi untuk keluar dari loop.
Ungkapan3 : dipakai sebagai pengatur kenaikan nilai variabel
pengendali loop.
Ketiga ungkapan dalam for tersebut harus dipisahkan dengan tanda titik koma (;).
Dalam hal ini pernyatan bisa berupa pernyataan tunggal maupun jamak. Jika
34
35
printf("%d\n", bilangan);
Kadang-kadang dijumpai adanya pernyataan for yang tidak mengandung
bagian ungkapan yang lengkap (beberapa ungkapan dikosongkan). Dengan cara
ini, pernyataan
for (bilangan = 20; bilangan <= 100; bilangan += 10)
printf(%d\n, bilangan);
dapat ditulis menjadi :
bilangan = 20; /* inisialisasi di luar for */
Pengosongan ini juga dilakukan pada ungkapan yang biasa dipakai untuk
menaikkan nilai variabel pengendali loop. Sebagai gantinya, di dalam tubuh loop
diberikan pernyataan untuk menaikkan nilai variabel pengendali loop, yaitu
berupa bilangan += 10;
Ungkapan yang tidak dihilangkan berupa bilangan <=100. Ungkapan ini tetap
disertakan karena dipakai sebagai kondisi untuk keluar dari loop. Sesungguhnya
ungkapan yang dipakai sebagai kondisi keluar dari loop juga bisa dihilangkan,
sehingga bentuknya menjadi
for (;;)
pernyataan
Suatu pertanyaan mungkin timbul Lalu bagaimana caranya kalau ingin
keluar dari loop pada bentuk di atas?. Caranya adalah dengan menggunakan
pernyataan yang dirancang khusus untuk keluar dari loop. Mengenai hal ini akan
dibahas pada praktikum selanjutnya.
C. TUGAS PENDAHULUAN
Tuliskan desain algoritma dan flowchart untuk soal-soal di bawah ini :
36
D. PERCOBAAN
1. Gunakan perulangan for untuk menampilkan nilai 1 sampai dengan 10
dalam baris-baris yang terpisah.
2. Buat program untuk menampilkan tulisan ATEM SEMARANG dengan 20
baris yang terpisah
3. Buat program yang bisa menampilakan seperti di bawah ini.
70
69
68
67
66
65
4. Buat program yang bisa menampilakan seperti di bawah ini.
Baris ke-1 : a = 0, b = 0
Baris ke-2 : a = 1, b = 5
Baris ke-3 : a = 2, b = 10
Baris ke-4 : a = 3, b = 15
Baris ke-5 : a = 4, b = 20
5. Buat program dengan scanf() untuk control pengulangan penulisan. Misal
dengan memasukan 5 maka akan mengulang suatu program dengan 5 kali
perulangan. Contoh tulisan Teknik Elektro Medik 5X
E. LAPORAN RESMI
1. Tulis listing program dari semua percobaan yang dilakukan.
2. Kemudian tuliskan outputnya. Terangkan mengapa demikian.
37
A. Tujuan
1. Menjelaskan perbedaan for dan while serta do-while
2. Menjelaskan proses pengulangan menggunakan pernyataan while
3. Menjelaskan proses pengulangan menggunakan pernyataan do-while
B. DASAR TEORI
Seperti yang sudah dijelaskan pada bab sebelumnya, bahwa perulangan yang
sudah diketahui berapa kali akan dijalankan, maka sebaiknya menggunakan
perulangan for. Sedangkan yang belum diketahui berapakali akan diulangi maka
dapat menggunakan while atau do-while. Menggunakan pernyataan while ketika
kondisi perluangan diperiksa sebelum menjalankan pernyataan dan menggunakan
do_while ketika perulangan kodisi perulangan tersebut diperiksa setelah
mejalankan pernyataan.
Pada pernyataan while, pemeriksaan terhadap loop dilakukan di bagian awal
(sebelum tubuh loop). Pernyataan while akan diulangi terus selama kondisi
bernilai benar, atau diulangi selama kondisinya benar, jika kondisinya salah maka
perulangan (loop) dianggap selesai. Lebih jelasnya, bentuk pernyataan while
adalah sebagai berikut :
while (kondisi)
pernyataan;
pernyataan dapat berupa pernyataan tunggal, pernyataan majemuk ataupun
pernyataan kosong. Dengan melihat gambar 5.2, tampak bahwa ada kemungkinan
pernyataan yang merupakan tubuh loop tidak dijalankan sama sekali, yaitu kalau
hasil pengujian kondisi while yang pertama kali ternyata bernilai salah. Proses
pengulangan terhadap pernyataan dijelaskan pada gambar berikut :
38
39
C. TUGAS PENDAHULUAN
Tuliskan desain algoritma dan flowchart untuk soal-soal di bawah ini :
D. PERCOBAAN
1. Gunakan perulangan while untuk membuat program yang dapat
menampilkan semua karakter yang diketikkan di keyboard sampai yang
diketikkan pada keybord huruf A (A besar).
2. Gunakan perulangan while untuk membuat tulisan ATEM-SEMARANG
yang banyaknya di inputkan dari keyboard.
3. Gunakan perulangan while untuk membuat program yang dapat mencari
total angka yang dimasukkan dengan tampilan sebagai berikut :
Masukkan bilangan ke-1 : 6
Mau memasukkan data lagi [y/t] ? y
Masukkan bilangan ke-2 : 3
Mau memasukkan data lagi [y/t] ? t
Total bilangan = 9
4. Gunakan perulangan bersarang untuk menghasilkan output seperti
dibawah ini.
1 2 3 4 5 6 7 8 9 10
2 4 6 8 10 12 14 16 18 20
....................................................................
10 20 30 40 50 60 70 80 90 100
40
41
A. Tujuan
1. Menjelaskan penggunaan pernyataan break
2. Menjelaskan penggunaan pernyataan continue
3. Menjelaskan penggunaan pernyataan goto
4. Menjelaskan penggunaan exit() untuk menghentikan eksekusi program
B. DASAR TEORI
Untuk keluar dari perulangan/loop dapat dilakukan setelah sarat perulangan
dipenuhi. Akan tetapi ada cara lain untuk keluar dari perulangan walaupun sarat
belum terpenuhi, yaitu dengan menggunakan pernyataan break. Pernyataan break
sesungguhnya telah diperkenalkan pada pernyataan switch. Pernyataan ini
berfungsi untuk keluar dari loop for, do-while dan while. Sedangkan pada switch
yaitu untuk menuju ke akhir (keluar dari) struktur switch.
Pernyataan break digunakan untuk keluar dari satu blok Selain pernyataan
break ada juga pernyataan yang berhubungan dengan perulangan yaitu pernyataan
continue. Pernyataan continue digunakan untuk mengarahkan eksekusi ke literasi
(proses) berikutnya pada loop yang sama. Pada do-while dan while, pernyataan
continue menyebabkan eksekusi menuju ke kondisi pengujian pengulangan. Pada
loop for, pernyataan continue menyebabkan bagian penaik variable pengendali
loop dikerjakan dan kondisi untuk keluar dari loop for diuji kembali.
Selain dua pernyataan diatas masih ada pernyataan yang berhubungan dengan
loop yaitu goto. Pernyataan goto merupakan intruksi untuk mengarahkan eksekusi
ke pernyataan yang diawali dengan suatu label. Label sendiri berupa suatu
pengenal (identifier) yang diikuti dengan tanda titik dua (:)
Contoh pemakaian goto:
goto cetak;
Mengisyaratkan agar eksekusi dilanjutkan ke pernyataan yang diawali dengan
label cetak : . Pernyataan ini sebaiknya tidak digunakan.
42
43
C. TUGAS PENDAHULUAN
Tuliskan desain algoritma dan flowchart untuk soal-soal di bawah ini :
D. PERCOBAAN
1. Dengan menggunakan pernyataan break, buatlah program yang dapat
menampilkan semua tampilan karakter yang diketikkan dan program
berakhir ketika ditekan tombol Enter.
2. Dengan menggunakan pernyataan continue, buatlah program yang dapat
menampilkan bilangan ganjil dari 1 sampai < n (n diinputkan), kecuali
bilangan ganjil tersebut kelipatan 3.
3. Dengan menggunakan pernyataan break dan continue, buatlah program
untuk membuat program dengan input n, dan output bilangan ganjil
kecuali kelipatan 7 dan 11 mulai dari 1 sampai < n atau bilangan tersebut
<100.
4. Buatlah program untuk menerima daftar nilai mahasiswa sbb :
Input : - Jumlah data (n)
Nilai ke-1 s/d Nilai ke-n
Output : - Nilai minimal
Nilai maksimal
Nilai rata-rata (rata-rata = nilai total / jumlah data)
(Petunjuk : Gunakan loop for dan seleksi kondisi dengan if)
E. LAPORAN RESMI
1. Tulis listing program dari semua percobaan yang dilakukan.
2. Kemudian tuliskan outputnya. Terangkan mengapa demikian.
44
FUNGSI (11)
A. Tujuan
1. Memecah program dalam fungsi fungsi yang sederhana.
2. Menjelaskan tentang pemrograman terstruktur.
B. DASAR TEORI
Fungsi adalah suatu bagian dari program yang dirancang untuk melaksanakan
Tugas-tugas tertentu dan letaknya dipisahkan dari program yang
menggunakannya. Elemen utama dari program bahasa C berupa fungsi-fungsi,
dalam hal ini program dari bahasa C dibentuk dari kumpulan fungsi pustaka
(standar) dan fungsi yang dibuat sendiri oleh pemrogram. Fungsi banyak
digunakan pada program C dengan tujuan :
Program menjadi terstruktur, sehingga mudah dipahami dan mudah
dikembangkan. Dengan memisahkan langkah-langkah detail ke satu atau
lebih fungsi-fungsi, maka fungsi utama (main()) menjadi lebih pendek,
jelas dan mudah dimengerti.
Dapat mengurangi pengulangan (duplikasi) kode. Langkah-langkah
program yang sama dan dipakai berulang-ulang di program dapat
dituliskan sekali saja secara terpisah dalam bentuk fungsi-fungsi.
Selanjutnya bagian program yang membutuhkan langkah-langkah ini tidak
perlu selalu menuliskannya, tetapi cukup memanggil fungsi-fungsi
tersebut.
Dasar Fungsi
Sebagai Contoh Fungsi standart dalam C adalah;
_ printf() , yaitu untuk menampilkan informasi atau data ke layar.
_ scanf() , yaitu untuk membaca kode tombol yang diinputkan
Pada umumnya fungsi memerlukan nilai masukan atau parameter yang
disebut sebagai argumen. Nilai masukan ini akan diolah oleh fungsi. Hasil akhir
fungsi berupa sebuah nilai (disebut sebagai return value atau nilai keluaran
45
fungsi). Oleh karena itu fungsi sering digambarkan sebagai "kotak gelap" seperti
ditunjukkan pada gambar di bawah ini.
46
47
48
49
C. TUGAS PENDAHULUAN
Tuliskan desain algoritma dan flowchart untuk soal-soal di bawah ini :
D. PERCOBAAN
1. Buatlah sebuah fungsi yang berfungsi untuk menampilkan sebuah string
(di layar) = ATEM SEMARANG ( Fungsi tersebut tidak memiliki nilai
kembalian (return value) dan juga tidak menerima parameter masukan
apapun.
2. Buatlah sebuah fungsi untuk menghitung nilai bilangan kuadrat (misal
nama fungsinya = kuadrat). Fungsi tersebut memiliki sebuah parameter
bertipe float, yaitu bilangan yang akan dikuadratkan serta memiliki sebuah
return value bertipe float, yaitu hasil kuadratnya.
3. Buatlah sebuah fungsi untuk menghitung sebuah luas segitiga, bujur
sangkar, lingkaran yang nantinya akan di panggil pada program utama.
50
E. LAPORAN RESMI
1. Tulis listing program dari semua percobaan yang dilakukan.
2. Kemudian tuliskan outputnya. Terangkan mengapa demikian.
51
Array (12)
A. Tujuan
1. Menjelaskan tentang variabel array
2. menggunakan variabel array dalam pembuatan program
B. DASAR TEORI
Array adalah suatu variabel yang merepresentasikan kumpulan data yang
memiliki data dengan tipe yang sama. Setiap data yang terdapat dalam array
menempati alamat memori yang berbeda-beda dan dapat disebut elemen array.
Untuk mengakses nilai dari suatu elemen array dapat menggunakan index. Untuk
permulaan dari index dimulai dengan 0 bukan 1. Tabel dibawah ini
mengilustrasikan pemakaian array.
52
A[9]=10;
Inisialisai Array
Pada saat array dideklarasikan, apabila tidak melakukan inisialisasi secara
explisit terhadap elemen-elemen didalamnya,maka kompilator C akan secara
otomatis mengeset nilainya menjadi nol (0). Dibawah ini cara melakukan
inisialisasi nilai terhadap elemen array. Sebagai contoh memasukan 3 buah array
dengan nama A,B dan C yang semuanya bertipe integer.
int A[5] = {1,2,3,4,5};
int B[5]={10};
intC[5]={10,0,30};
Pada baris pertama (Array A) telah menginisialisasi terhadap 5 elemen array
yaitu dengan nilai 1,2,3,4,5 sehingga dapat di gambar kan sebagai berikut.
Sedangkan untuk elemen B yang hanya memasukan nilai 10 maka hasil elemen
sebagai berikut,
Array Konstan
Seperti variabel biasa elemen array dapat dibuat menjadi konstan, artinya nilai
tidak dapat dirubah selama program dijalankan. Caranya yaitu dengan menambah
fungsi const pada saat pendeklarasian array serta mengisikan nilai nilai yang
didefinisikan. Berikut ini adalah bentuk umumnya.
Const tipe_data nama_array[N] = { nilai1,nilai2,nilai N}
Sebagai contoh apabilai nilai array A dibuat konstan.
Const int A[3] = {10,20,30};
53
Untuk inisialisasi nilai terhadap array dua dimensi adalah sebagai berikut,
int A [3] [2] = { 10, 20, /* Inisialisasi nilai pada baris pertama */
30, 40, /* Inisialisasi nilai pada baris kedua */
50, 60 }; /* Inisialisasi nilai pada baris ketiga */
54
C. TUGAS PENDAHULUAN
Tuliskan desain algoritma dan flowchart untuk soal-soal di bawah ini :
D. PERCOBAAN
1. Menyimpan huruf pada array dan menampilkannya.
2. Mencari bilangan terbesar pada array. Dengan data 8 7 6 5 4 6 2 7 8 10
3. Menampilkan masukkan data pada array melalui keybord dengan jumlah
masukkan data 5 buah dan menjumlahkan semua data.
4. Menjumlahkan dua buah array dengan data sebagai berikut,
[1,2,3,4,5]
[6,7,8,9,10]
5. Menampilkan data dari array dari belakang.
[1,2,3,4,5,6] > 6 5 4 3 2 1
6. Menampilkan negara dan ibu kota dengan array 2 dimensi
- Negara[0,0] = Indonesia
- Negara[0,1] = Jakarta
- Negara[1,0] = Malaysia
55
E. LAPORAN RESMI
1. Tulis listing program dari semua percobaan yang dilakukan.
2. Kemudian tuliskan outputnya. Terangkan mengapa demikian.
56