MODUL PRAKTIKUM
ALGORITMA DAN PEMROGRAMAN
D3 Manajemen Informatika Fakultas Teknik
Universitas Trunojoyo
MODUL I PENGANTAR KONSEP DAN NOTASI ALGORITMA
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 Tahapan Pembuatan Program •
Pendefinisian
•
Deskripsi masalah
•
Perancangan langkah-langkah untuk menyelesaikan permasalahan algoritma
•
–
Menggunakan flow chart
–
Menggunakan Pseudocode / Sandi Semu
Coding
Simbol-simbol dalam flowchart SIMBOL
NAMA
FUNGSI
TERMINATOR
Permulaan/akhir program
GARIS ALIR (FLOW LINE)
Arah aliran program
PREPARATION
Proses inisialisasi/pemberian harga awal
PROSES
Proses perhitungan/proses pengolahan data
INPUT/OUTPUT DATA
Proses input/output parameter, informasi
PREDEFINED PROCESS (SUB PROGRAM)
Permulaan sub program/proses menjalankan sub program
DECISION
Perbandingan pernyataan, penyeleksian data yang memberikan pilihan untuk langkah selanjutnya
data,
Penghubung bagian-bagian ON PAGE flowchart yang berada pada satu CONNECTOR halaman Penghubung OFF PAGE flowchart yang CONNECTOR halaman berbeda
bagian-bagian berada pada
C. TUGAS PENDAHULUAN Buatlah Algoritma dan Flowchart untuk menyelesaikan Permasalahan dalam Percobaanpercobaan dibawah ini. D. PERCOBAAN 1. Menghitung Luas segitiga dan menampilkan hasilnya 2. Mengecek bilangan di antara 2 bilangan masukan, apakah sama ataukah lebih besar salah satunya, dan tampilkan hasilnya. 3. Menampilkan bilangan 1 sampai dengan n, dan menghitung sigma (akumulasi) dari bilangan tersebut dan menampilkan hasilnya.
4. Menampilkan bilangan 1 sampai dengan 10 dan melakukan pengecekan apakah bilangan tersebut ganjil atau genap.
MODUL II PENGENALAN BAHASA PEMROGRAMAN
A. TUJUAN 1. Mengenal sintaks dan fungsi-fungsi dasar dalam bahasa C 2. Mampu menerjemahkan flowchart untuk algoritma untuk memecahkan suatu masalah sederhana, selanjutnya mengimplementasikannya dalam bahasa C
B. DASAR TEORI Akar dari bahasa C adalah bahasa BCPL yang dikembangkan oleh Martin Richards ada tahun 1967, Bahasa ini memberikan ide kepada Ken Thompson yang kemudian mengembangkan bahasa yang disebut dengan B ada tahun 1970, Perkembangan selanjutnya dari bahasa B adalah bahasa C oleh Dennis Ritchie sekitar tahun 1970-an di Bell Telephone Laboratories Inc. (sekarang adalah AT&T Bell Laboratories), Bahasa C ertama kali digunakan ada komputer Digital Equipment Corporation PDP-11 yang menggunakan sistem oerasi UNIX. Standar bahasa C yang asli adalah standar dari UNIX. Sistem operasi, kompiler C dan seluruh rogram aplikasi UNIX yang esensial ditulis dalam bahasa C, Kepopuleran bahasa C membuat versi-versi dari bahasa ini banyak dibuat untuk komputer mikro. Untuk membuat versiversi tersebut menjadi standar, ANSI (American National Standards Institute) membentuk suatu komite (ANSI committee X3J11) ada tahun 1983 yang kemudian menetapkan standar ANSI untuk bahasa C, Standar ANSI ini didasarkan kepada standar UNIX yang diperluas, Struktur Penulisan Program C Program C ada hakekatnya tersusun atas sejumlah blok fungsi, Sebuah program minimal mengandung sebuah fungsi, Fungsi pertama yang harus ada dalam rogram 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 statemenstatemen program C. Namun ada 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. Struktur Program C Untuk dapat memahami bagaimana suatu program ditulis, maka struktur dari program harus dimengerti terlebih dahulu. Tiap bahasa komputer mempunyai struktur program yang berbeda. Jika struktur dari program tidak diketahui, maka akan sulit bagi pemula untuk memulai menulis suatu program dengan bahasa yang bersangkutan.
Struktur dari program C terdiri dari koleksi satu / lebih fungsi-fungsi. Fungsi pertama yang harus ada di program C sudah ditentukan namanya, yaitu bernama main() . Suatu fungsi di dalam program C dibuka dengan kurung kurawal buka “{” dan ditutup dengan kurung kurawal tutup “}”. Di antara kurung kurawal dapat dituliskan statemen-statemen program C dan pada setiap statemen diakhiri dengan tanda titik koma “;”. Berikut adalah struktur dari program C:
dengan prototipe dari fungsi-fungsi pustaka, sedangkan fungsi-fungsi pustakanya disimpan dalam file pustaka
sendiri
(library file dengan nama extension file -nya adalah .LIB).
Misalnya prototipe dari fungsi -fungsi pustaka printf() dan scanf() terdapat di file stdio.h, sehingga jika fungsi-fungsi ini digunakan di program, maka nama file judulnya harus dilibatkan dengan menggunakan preposcessor #include. File judul stdio.h berisi prototype fungsi -fungsi pustaka untuk operasi input dan output standar. Ada dua cara melibatkan file judul disuatu program C, yaitu : #include<stdio.h> atau #include “stdio.h” File judul selain berisi dengan prototype dari fungsi-fungsi pustaka, juga umumnya berisi dengan konstanta-konstanta terdefinisi dan makro -makro. Misalnya nama konstanta terdefinisi M_PI telah didefinisikan di file judul math.h oleh Turbo-C. Selanjutnya untuk menggunakan nilai phi, nama konstanta M_PI
dapat digunakan yang telah berisi dengan nilai konstanta
3.141592653.
Pengenalan Fungsi-Fungsi Dasar a. Fungsi main() Fungsi main() harus ada ada program, sebab fungsi inilah yang menjadi titik awal dan titik akhir eksekusi rogram, Tanda { di awal fungsi menyatakan awal tubuh fungsi dan sekaligus awal eksekusi rogram, sedangkan tanda } di akhir fungsi merupakan akhir tubuh fungsi dan sekaligus adalah akhir eksekusi rogram, Jika rogram terdiri atas lebih dari satu fungsi, fungsi mainQ biasa ditempatkan ada osisi yang paling atas dalam endefinisian fungsi, Hal ini hanya merupakan kebiasaan. Tujuannya untuk memudahkan encarian terhadap rogram utama bagi emrogram, Jadi bukanlah merupakan suatu keharusan.
b. Fungsi printf(). Fungsi printf() merupakan fungsi yang umum dipakai untuk menampilkan suatu keluaran pada layar peraga. Untuk menampilkan tulisan Selamat
belajar
bahasa
C misalnya,
pernyataan yang diperlukan berupa: printf("Selamat Pernyataan di atas berupa
belajar
bahasa
C");
emanggilan fungsi printfQ dengan argumen atau parameter
berupa string. Dalam C suatu konstanta string ditulis dengan diawali dan diakhiri tanda etik ganda ("). Perlu juga diketahui
ernyataan dalam C selalu diakhiri dengan tanda titik koma
(;). Tanda titik koma diakai sebagai tanda
emberhentian sebuahernyataan dan bukanlah
sebagai pemisah antara dua pernyataan. Tanda \ ada string yang dilewatkan sebagai argumen printfQ mempunyai makna yang khusus, Tanda ini bisa digunakan untuk menyatakan karakter khusus seperti karakter baris-baru ataupun karakter backslash (miring kiri), Jadi karakter seperti \n sebenarnya menyatakan sebuah karakter. Contoh karakter yang ditulis dengan diawali tanda \ adalah: \"
menyatakan karakter petik-ganda
\\
menyatakan karakter backslash
\t
menyatakan karakter tab
Dalam bentuk yang lebih umum, format printf() printf("string kontrol", daftar argumen); dengan string kontrol dapat berupa satu atau sejumlah karakter yang akan ditampilkan ataupun berupa enentu format yang akan mengatur enampilan dari argumen yang terletak pada daftar argumen. Mengenai penentu format di antaranya berupa: %d
untuk menampilkan bilangan bulat (integer)
%f
untuk menampilkan bilangan titik-mengambang (pecahan)
%c
untuk menampilkan sebuah karakter
%s
untuk menampilkan sebuah string
Contoh: #include <stdio.h> main( ) {
}
printf("No
:
d\n", 10);
printf("Nama
:
s\n", "Ali");
printf("Nilai :
f\n",80.5);
printf("Huruf :
c\n",
W);
Pengenalan Praprosesor #include #include merupakan salah satu jenis engarah raprosesor (preprocessor directive), Pengarah raprosesor ini diakai 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 ada rogram #include <stdio.h> menyatakan ada
kompiler
agar
membaca
file
bernama
stdio.h
saat
pelaksanaan kompilasi,
Bentukumum#include: #include "namafile" Bentuk ertama (#include
) mengisyaratkan bahwa encarian file dilakukan ada direktori khusus, yaitu direktori file include, Sedangkan bentuk kedua (#include "namafile") menyatakan bahwa encarian file dilakukan ertama kali ada direktori aktif tempat rogram sumber dan seandainya tidak ditemukan encarian akan dilanjutkan pada direktori lainnya yang sesuai dengan perintah pada sistem operasi, Kebanyakan
rogram melibatkan file stdio.h (file-judul I/O standard, yang
disediakan dalam C), Program yang melibatkan file ini yaitu
rogram yang menggunakan
ustaka I/O (input-output) standar seperti printf().
Komentar dalam Program Untuk keperluan dokumentasi dengan maksud agar rogram mudah diahami di suatu saat lain, biasanya
ada
rogram disertakan komentar atau keterangan mengenai rogram,
Dalam C, suatu komentar ditulis dengan diawali dengan tanda /* dan diakhiri dengan tanda */. Contoh : /* Tanda ini adalah komentar untuk multiple lines */ #include <stdio.h> main() { printf("Coba\n"); }
//Ini komentar satu baris
C. TUGAS PENDAHULUAN 1. Desain Algoritma dan Flowchart pada percobaan nomor 2. 2. Buat program yang dapat menampilkan biodata dan identitas diri anda masing-masing. D. PERCOBAAN 1. Buatlah program yang menerima masukan dari user mengenai biodata dan identitas user. Dan dapat menampilkan biodata dan identitas user tersebut. 2. Buatlah
keluaran
program
yang
berupa
jumlah,
dimasukkan.
menerima rata-rata
masukan dan
dua
kuadrat
buah dari
bilangan. kedua
Tampilkan
bilangan
yang
3. Program di bawah ini tidak berhasil di-compile karena masih terdapat beberapa
kesalahan. Temukan kesalahannya dan selanjutnya tampilkan keluaran, setelah program ini berhasil dijalankan dengan menghasilkan nilai dari jumlah=90. main () { INT jumlah; /* PERHITUNGAN HASIL jumlah = 37 – 19 * 25 + 2 / 5; /* TAMPILKAN HASIL printf("Berapa hasil perhitungan 37 – 19 * 25 + 2 / 5 ?\n) ; printf("Jawabannya adalah %d\n" jumlah); }
MODUL III TIPE DATA DAN OPERASI I/O
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 instruki I/O
B. DASAR TEORI Tipe data dalam program C++ menyediakan lima macam tipe data dasar, yaitu tipe data integer (nilai numerik bulat yang dideklarasikan int), floating point (nilai numerik pecahan ketepatan tunggal yang dideklarasikan dengan float), double-precision (nilai numerik pecahan ketepatan ganda yang dideklarasikan dengan double), karakter (dideklarasikan dengan char), dan kosong (dideklarasikan dengan void). Jadi Terdapat 5 tipe data bawaan dari bahasa C++, yaitu: int, float, double, char dan void.
Operator Aritmatika Operator untuk operasi aritmatika yang tergolong sebagai operator binary adalah :
*
perkalian
/
pembagian
%
sisa pembagian
+
penjumlahan
-
pengurangan
Untuk keperluan menampilkan data/informasi, C menyediakan sejumlah fungi. Beberapa di antaranya adalah berupa printf() dan putchar() puts() Fungsi putchar() Fungi putchar() digunakan khuus untuk menampilkan sebuah karakter di layar. Penampilan karakter tidak diakhiri dengan perpindahan baris. Contoh : putchar ( W ) ; menghasilkan keluaran yang ama dengan printf("%c",'A');
Fungsi printf() Bentuk umum pernyataan printf() : printf("tring kontrol",argumenl, argumen2,...); String kontrol dapat berupa keterangan yang akan ditampilkan pada layar beerta penentu format (eperti %d, %f,%c). Penentu format dipakai untuk memberi tahu kompiler mengenai jeni data yang akan ditampilkan. Argumen esudah string kontrol (argumenl, argumen2,...)adalah data yang akan ditampilkan ke layar. Argumen ini dapat berupa variabel, kontanta dan bahkan ungkapan. Mial : printf("%d",20);
//argumen berupa kontanta
printf("%d",a);
//argumen berupa variabel
printf( " % d " , a + 2 0 ) ;
//argumen berupa ungkapan
Fungsi getchar() Fungi getchar() digunakan khusu untuk menerima maukan berupa ebuah 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 ebari karakter yaitu fungi puts(). Fungsi scanf() Fungi
ini
memasukkan
digunakan data
untuk
jari-jari
memasukkan lingkaran
scanf( " % f " , & r a d i u ) ;
pada
berbagai program
jenis
data.
menghitung
Mialnya lua
untuk
lingkaran.
Bentuk scanf() seungguhnya menyerupai fungsi printf(). Fungi ini melibatkan penentu format yang pada daarnya ama digunakan pada printf(). Secara umum bentuk scanf() adalah sebagai berikut: scanf("string kontrol", daftarargumen); Dengan tring kontrol dapat berupa : ■ Penentu format ■ Karakter spai-putih (white-space) ■
Karakter bukan pai-putih scanf("%f",
&radius);
berarti (bagi komputer) : "bacalah sebuah bilangan real (%f) dan tempatkan ke alamat dari radius (&radiu)".
Untuk menentukan panjang medan yang diediakan bagi tampilan data, maka seudah tanda % dalam penentu format dapat diisipi dengan bilangan bulat yang menyatakan panjang medan. ■
Untuk data yang berupa bilangan bulat, misal pada : printf("Abad %4d", 2 0 ) ; %4d
menyatakan medan untuk menampilkan bilangan 20 adalah epanjang 4 karakter.
Untuk data yang berupa bilangan real, peifikai medannya berupa
DEKLARASI Deklarasi diperlukan bila kita akan menggunakan pengenal (idenifier) dalam program, identifier dapat berupa variabel, konstanta dan fungsi. Deklarasi variabel Bentuk umum pendeklarasisan varianel adalah Tipe_variabel nama_variabel; int x,y,z;
Deklarasi Konstanta Dalam bahasa C konstanta dideklarasiakn menggunakan preprocessor #define. #define PHI 3.14; #define nama “Ubaidillah”;
Deklarasi fungsi Fungsi merupakan bagian yang terpisah dari program dan dapa diaktifkan atau dipanggil di manapun di dalam program. Bentuk umum deklarasi fungsi adalah Tipe_fungsi nama_fungsi(parameter_fungsi); float luas_lingkaran(int jari_jari);
C. TUGAS PENDAHULUAN Desain Algoritma dan Flowchart pada semua percobaan. D. PERCOBAAN 1. Buat Program luas lingkaran dengan menggunakan variabel PHI sebagai konstanta. #define PHI 3.14; 2. Buatlah program untuk mengkonversi suhu dari Celcius ke Fahrenheit dengan rumus F = C * 1.8 + 32 Input : suhu dalam Celciu Output: suhu dalam Fahrenheit
MODUL IV PENYELEKSIAN KONDISI
A. TUJUAN 1. Menjelaskan tentang operator kondisi (operator relasi dan logika) 2. Menjelaskan penggunaan pernyataan if 3. Menjelaskan penggunaan pernyataan if-else 4. Menjelaskan penggunaan pernyataan if dalam if 5. Menjelaskan penggunaan pernyataan else-if 6. Menjelaskan penggunaan pernyataan switch B. DASAR TEORI Operator Kondisi Banyak persoalan yang dperlukan untuk membuat keputusan. Contoh yang sederhana berupa cara mengatur agar komputer b s a menyimpulkan bahwa suatu bilangan merupakan bilangan genap atau bilangan ganjil. Untuk keperluan pengambilan keputusan semacam itu, C menyedakan beberapa j e n s pernyataan, berupa ■ Pernyataan if ■ Pernyataan if-else, dan ■ Pernyataan switch Pernyataan-pernyataan tersebut memerlukan suatu kondis, sebagai bass dalam pengambilan keputusan. Kondis umum yang dpakai berupa keadaan benar dan salah. Oleh karena tu pembahasan pada bab ini akan dawal dengan pengenalan operator yang membentuk kondis benar dan salah. Operator yang digunakan untuk menghaslkan kondisi benar dan salah, bisa berupa operator relasi dan bisa juga berupa operator logika. Berikut ini dibahas masing-masng jenis operator serta tabel prioritas masing-masing operator. Operator Relasi Operator relasi basa dpakai untuk membandingkan dua buah nilai. Hasil pembandingan berupa keadaan benar atau salah.
Khususnya untuk operator relas
sama dengan (==) harap dibedakan dengan operator (=)
yang merupakan operator penugasan (assignment). Operator Logika. Operator logika basa dipakai untuk menghubungkan ekspres relasi. Keseluruhan operator logika dtunjukkan pada tabel dibawah ini.
Pernyataan if Pernyataan //mempunyai bentuk umum : if (kondisi) pernyataan; Bentuk ini menyatakan : ■ jka kondsi yang diseleks adalah benar (bernlai logika = 1), maka pernyataan yang mengikutnya akan diproses. ■ Sebalknya, jka kondis yang diseleksi adalah tdak benar (bernlai logika = 0), maka pernyataan yang mengikutnya tdak akan diproses. Mengenai kodisi harus ditulis diantara tanda kurung, sedangkan pernyataan dapat berupa sebuah pernyataan tunggal, pernyataan majemuk atau pernyataan kosong. Diagram alir dapat dilihat sepert gambar
Pernyataan if-else Pernyataan if-else memilki bentuk : if (kondisi) pernyataan-1; else pernyataan-2;
Arti dari pernyataan if-else : ■ Jka kondis benar, maka pernyataan-1 dijalankan. ■ Sedangkan bila kondsi bernilai salah, maka pernyataaan-2 yang dijalankan. Masng-masng pernyataan-1 dan pernyataan- dapat berupa sebuah pernyataan tunggal, pernyataan majemuk ataupun pernyataan kosong. Pernyataan switch Pernyataan switch merupakan pernyataan yang drancang khusus untuk menangani pengambilan keputusan yang melibatkan sejumlah alternatif, msalnya untuk menggantkan pernyataan i/bertngkat. Bentuk umum pernyataan switch adalah :
dengan ekspresi dapat berupa ekspres bertipe nteger atau bertipe karakter. Demikian juga konstanta-1, konstanta-2, . . . , konstanta-n dapat berupa konstanta nteger atau karakter. Setap pernyataan-i (pernyataan-1, ... , pernyataan-n) dapat berupa pernyataan tunggal ataupun pernyataan jamak. Dalam hal ni urutan penulsan pernyataan case tdak berpengaruh. Proses penyeleksian berlangsung sebagai berikut: ■ pengujian pada switch akan dmulai dari konstanta-1. Kalau nilai konstanta-1 cocok dengan ekspres maka pernyataan-1 dijalankan. Kata kunci break harus dsertakan di bagian akhir
setiap pernyataan case, yang akan mengarahkan eksekusi ke akhir switch. ■ Kalau ternyata pernyataan-1 tidak sama dengan nilai ekspresj pengujian dilanjutkan pada konstanta-, dan berikutnya serupa dengan pengujian pada konstanta-1. ■ Jka sampai pada pengujan case yang terakhir ternyata tdak ada kecocokan, maka pernyataan yang mengikuti kata kunci default yang akan dieksekusi. Kata kunci default in bersifat opsonal. ■ Tanda kurung kurawal tutup (}) menandakan akhir dari proses penyeleksian kondisi case. C. TUGAS PENDAHULUAN Desain Algoritma dan Flowchart pada semua percobaan dibawah ini. D. PERCOBAAN 1. Buat program yang menampilkan “Genap” jika suatu bilangan adalah bilangan genap atau “Ganjil” jika bilangan tesebut adalah bilangan ganjil. 2. Buat program konversi nilai dari nilai huruf menjadi nilai angka, seperti tabel di bawah ini. Nilai Angka
Huruf
>80 – 100
A
>70 – 80
B
>55 - 70
C
>45 - 55
D
3. Buat program yang meminta masukan bilangan bulat dari pengguna, jika pengguna memasukkan 0, program menampilkan “Minggu”, jika pengguna masukkan 1, program menampilkan “Senin” dan seterusnya sampai dengan “Sabtu”. Jika pengguna memasukkan jalur jangkauan 0 sampai dengan 6 maka , program menuliskan “Hari tidak valid”.
MODUL V PENGULANGAN
A. TUJUAN 1. Menjelaskan proses pengulangan menggunakan pernyataan for 2. Menjelaskan proses pengulangan menggunakan pernyataan while 3. Menjelaskan proses pengulangan menggunakan pernyataan do-while B. DASAR TEORI Pernyataan for 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. Pernyataan pertama yang digunakan untuk keperluan pengulangan proses adalah pernyataan/or. Bentuk pernyataan ini : for (ungkapanl; ungkapan2; ungkapan3) pernyataan; Kegunaan dari masing-masing ungkapan pada pernyataan for. Ungkapan 1 : digunakan untuk memberikan inisialisasi terhadap variabel pengendali loop. Ungkapan 2 : dipakai sebagai kondisi untuk keluar dari loop. Ungkapan 3 : 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 pernyataannya
berbentuk jamak, maka pernyataan-pernyataan tersebut harus diletakkan di antara kurung kurawal buka ({) dan kurung kurawal tutup (}), sehingga formatnya menjadi :
Contoh : for (bilangan = 20; bilangan <= 100; bilangan ++) printf("%d\n", bilangan);
Kalau digambarkan dalam bentuk diagram alir, akan terlihat sbb :
Pernyataan while
Pada pernyataan while, pengecekan terhadap loop dilakukan di bagian awal (sebelum tubuh loop). Lebih jelasnya, bentuk pernyataan while adalah sebagai berikut:
dengan pernyataan dapat berupa pernyataan tunggal, pernyataan majemuk ataupun pernyataan kosong. Proses pengulangan terhadap pernyataan dijelaskan pada gambar berikut:
Dengan melihat gambar 4.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.
Pernyataan do-while
Bentuk pernyataan do-while
Pada pernyataan do-while, tubuh loop berupa pernyataan,dengan pernyataan bisa berupa pernyataan tunggal, pernyataan majemuk ataupun pernyataan kosong. Pada pernyataan do, mula-mula pernyataan dijalankan. Selanjutnya, kondisi diuji. Sendainya kondisi bernilai benar, maka pernyataan dijalankan lagi, kemudian kondisi diperiksa kembali, dan seterusnya. Kalau kondisi bernilai salah pada saat dites, maka pernyataan tidak dijalankan lagi. Untuk lebih jelasnya dapat dilihat pada Gambar 4.3. Berdasarkan Gambar 4.3 terlihat bahwa tubuh loop minimal akan dijalankan sekali.
Gambar 4.3. Diagram alir do-while Program berikut memberikan contoh pemakaian do-while untuk mengatur penampilan tulisan "BAHASA C" sebanyak sepuluh kali. Contoh:
Pada program di atas, variabel pencacah dipakai untuk menghitung jumlah tulisan yang sudah ditampilkan pada layar. Selama nilai pencacah kurang dari 10, maka perintah puts("BAHASA akan dilaksanakan kembali
C");
C. TUGAS PENDAHULUAN Buatlah Algoritma untuk menyelesaikan masalah: 1. Menghitung bilangan faktorial 2. Menampilkan bilangan ganjil atau genap antara bilanag 1 sampai 100.
D. PERCOBAAN 1. Menghitung jumlah bilangan
Bagaimana output dari program diatas? ______________________________________________________________________________ 2. Penggunaan for untuk membentuk deret naik
a. Bagaimana output program diatas ? __________________________ b. Jelaskan maksud dari program for (bilangan=2; bilangan<=20; bilangan++) ?
3. Penggunaan for untuk membentuk deret naik
Bagaimana output program diatas?
4. Penjumlahan bilangan
a. Bagaimana output program diatas? b. Buatlah program deret turun yang dimulai dari bilangan 100 hingga bilangan nol, dengan selisih 4! 5. Menghitung jumlah karakter dengan : while
Bagaimana output program diatas? 6. Membaca tombol
Bagaimana output program diatas?
E. SOAL 1. Gunakan loop for untuk membuat program sebagai berikut : Input
:n
Output : 1*2*3*4*5*……*n (Faktorial) 2. Menampilkan bilangan 1 sampai dengan n, dan menghitung sigma (akumulasi) dari bilangan tersebut dan menampilkan hasilnya. Input
:n
Output : 1+2+3+4+5+……+n = xxx
3. Menampilkan bilangan 1 sampai dengan n dan melakukan pengecekan apakah bilangan tersebut ganjil atau genap. Input
:n
Output :
1 >> Ganjil
2 >> Genap n >> ……. 4. Buat program yang dapat menampilkan sbb : 1 22 333 4444 55555
MODUL VARIABEL ARRAY (1) A. TUJUAN 1. Menjelaskan tentang array berdimensi satu 2. Menjelaskan tentang array berdimensi dua 3. Menjelaskan tentang array berdimensi banyak 4. Menjelaskan tentang inisialisasi array tak berukuran 5. Menjelaskan array sebagai parameter fungsi
B. DASAR TEORI Dalam beberapa literatur, array sering di sebut sebagai larik. Array adalah kumpulan dari nilai-nalai data bertipe sama dalam urutan tertentu yang menggunakan sebuah nama yang sama. Nilai-nilai data di sutau array disebut sebagai elemen-elemen array. Letak urutan dari elemen array ditunjukkan oleh suatu subscript atau indeks.
Array Berdimensi Satu Suatu aaray berdimensi satu dideklarasikan dalam bentuk umum bertipe: Tipe_data nama_variabel[ukuran] Misalnya: float nilai_mahasiswa[4]; Artinya:array nilai_mahasiswa mengandung 4 elemen array yang bertype float. Contoh deklarasi : int kotak[10]; Bisa di gambarkan sbb: kotak[0] kotak[1] kotak[2] kotak[3] kotak[4] kotak[5] kotak[6] kotak[7] kotak[8] kotak[9] Ket : mendeklarasikan Variabel Array bertipe Integer dengan nama Larik, yang dapat menampung maksimal 10 elemen data. INISIALISASI ARRAY Saat mendeklarasikan Array, dapat juga langsung melakukan inisialisasi nilai terhadap elemen-elemen array di dalamnya. Hal ini dimaksudkan untuk mengisikan nilai default pada elemen array sehingga jika elemen bersangkutan tidak diisi dengan nilai baru, maka nilai yang digunakan adalah nilai yang telah ada. Bentuk umum inisialisasi : Tipe_data nama_Array[N] = { nilai1, nilai2,….,nilaiN };
Beberapa variasi dalam mendeklarasikan array berdimensi satu diantaranya: Int number [10]; Int number [10]={12,10,9}; Int number[ ]={2,9,-23,9,32,12,4,5,76,8}; Char text[ ]=”Hello”; Double radians[1000];
C. TUGAS PENDAHULUAN Tanyakan pada asisten.
D. PERCOBAAN I. ARRAY SATU DIMENSI 1. Memasukkan nilai pada sebuah array
2. Mencari bilangan terkecil dari data input
3. Mencari nilai tebesar dari data input
4.
5.
Analisislah fungsi dari setiap program diatas! -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
SOAL Buatlah program untuk mendapatkan : INPUT : jumlah data, data ke 1 s/d data ke-n dengan input yang bersal dari luar(masukan dari keyborad) OUTPUT
: nilai maksimal, nilai minimal, nilai rata-rata dan letak urutan nilai terbaik
MODUL ARRAY (2)
A. TUJUAN PERCOBAAN Mengetahui penggunaan array berdimensi dua.
B. TEORI DASAR Array dimensi dua tersusun dalam bentuk baris dan kolom, dimana indeks pertama menunjukan baris dan indeks kedua menunjukan kolom. Array dimensi dua dapat digunakan seperti pendatan penjualan, pendataan nilai dan lain sebagainya. Deklarasi Array Bentuk Umum pendeklarasian array : Tipe-Data Nama_Variabel[index-1][index-2]
Keterangan : Type Data : Untuk menyatakan type data yang digunakan. Index-1
: Untuk menyatakan jumlah baris
Index-2
: Untuk menyatakan jumlah kolom
Contoh Pendeklarasian Array Sebagai contoh pendeklarasian yang akan kita gunakan adalah pengolahan data penjualan, berikut dapat anda lihat pada tabel berikut :
Data Penjualan Pertahun Jenis Barang
Tahun Penjualan 2001
2002
2003
Printer
150
159
230
Monitor
100
125
150
Keyboard
210
125
156
Jika anda lihat dari tabel diatas maka dapat dituliskan kedalam array dimensi dua berikut : int data_juaL [3][3];
Jumlah Kolom Jumlah Baris Nama Array Tipe data elemen array
Mengakses Elemen
Suatu array, dapat diakses dengan menggunakan subscript atau index nya: Bentuk umum pengaksesan dengan bentuk : Nama_Array[index-1][index-2]
Contoh
data_jual[2][2]; data_jual[1][2];
C. TUGAS PENDAHULUAN Tanyakan apada asisten. D. PERCOBAAN A. Program array 2 dimensi untuk implementasi memasukkan nilai
1. Bagaimana hasil outputnya? 2. Modifikasilah program untuk mendapatkan nilai tertinggi dan terendah pada setiap mahasiswa! 3. Modifikasilah program diatas sehingga jika terdapat data NIM
NAMA
Matkul-1
Matkul-2
Matkul-3
1
Aprila
87
90
80
2
Junita
88
88
88
3
Meila
78
85
75
Outputnya : --------------------------------------------NIM RATA-RATA --------------------------------------------1 85,67 2 88 3 79.33 B. Program array 2 dimensi untul aplikasi perhitungan matrik
1. 2.
3. Bagaimana outputnya? 4. Buatlah program untuk pengurangan dan perkalian matriks!
1. Bagaimana outputnya? 2. Buatlah program pengurangan dan perkalian matriks!
E. TUGAS Buatlah program untuk mengurutkan nilai masukan dari yang terendah ke nilai tertinggi INPUT:
jumlah data, data ke-1 s/d data ke-n
OUTPUT:
tampilan data dalam keadaan terurut
Misal: INPUT:
jumlah data=3 Data ke-1=70 Data ke-2= 60 Data ke-3= 80
OUTPUT:
data terurut Data ke-1= 60 Data ke-2= 70 Data ke-3= 80
MODUL FUNGSI
A. TUJUAN 1. Memecahkan program dalam fungsi fungsi yang sederhana 2. Menjelaskan tentang pemograman terstruktur 3. Membedakan antara variabel lokal, eksternal, statis dan register 4. memahami jenis-jenis fungsi dalam bahasa pemrograman C
B. DASAR TEORI Fungsi adalah suatu bagian dari program yang dirancang untuk melaksanakan tugas tertentu dan letaknya dipisahkan dari program yang menggunakannya. Fungsi merupakan kumpulan dari beberapa pernyataan yang dikumpulkan menjadi satu dalam sebuah pengenal atau nama. Kita telah berhubungan dengan fungsi pada percobaan sebelumnya, yaitu fungsi main(). Dengan adanya fungsi akan didapatkan beberapa keunggulan dalam pemrograman, antara lain: Memudahkan dalam membuat program Memudahkan pelacakan kesalahan Dapat menghemat penggunaan memori
Penamaan suatu fungsi mirip dengan penamaan variable. Pendeklarasian fungsi secara umum adalah sebagai berikut: tipe_data1 nama_fungsi (tipe_data2 nama_argumen) { tipe_data3 nama_variabel; pernyataan_1; pernyataan_2; . . pernyataan_N; }
Suatu fungsi dapat memiliki nilai kembalian (return value). tipe_data1 merupakan tipe data dari nilai kembalian fungsi. Semua tipe data standar C++ dapat digunakan sebagai tipe data nilai kembalian fungsi. Pengembalian hasil proses di dalam fungsi dilakukan dengan menggunakan pernyataan return. nama_fungsi merupakan pengenal fungsi. Penentuan nama fungsi sama dengan penentuan nama variable. Suatu fungsi juga dapat memiliki 31rgument. Argumen merupakan suatu variable atau nilai yang akan diproses di dalam fungsi. Tipe_data2 merupakan tipe data dari 31rgument, sedangkan nama_argumen merupakan pengenal dari 31rgument. Sebuah fungsi dapat
memiliki 32rgument lebih dari satu atau tidak memiliki 32rgument sama sekali. Untuk memisahkan antara 32argument satu dengan yang lainnya dipergunakan tanda “,” (koma).
1. 2. 3. 4.
Sebuah fungsi tidak selalu dapat mengakses semua variable yang dideklarasikan dalam satu program. Pada bahasa pemrograman C++ variabel dibedakan atas: variabel automatic (disebut variabel local), variabel ini hanya dapat di akses oleh fungsi yang mendeklarasikan variabel tersebut. variabel extern (disebut variabel global), variabel yang hampir dapat diakses di seluruh program. variabel statis, yaitu variabel yang nilainya adalah tetap meskipun fungsi yang mendeklarasikannya sudah selesai dieksekusi variabel referensi, yaitu variabel yang dijadikan sebagai argument dalam fungsi dengan memasukkan alamat (address) dari variabel tersebut dengan menggunakan operator & apabila terjadi perubahan pada variabel ini di dalam suatu fungsi, maka nilai variabel ini di luar fungsi tersebut juga akan berubah.
Pemrogram dapat mendeklarasikan variabel lokal denga nama sama dengan variabel global yang berada di luar fungsi tersebut. Jika terjadi hal tersebut, variabel lokal tidak dapat diakses di dalam fungsi dengan cara biasa. Untuk mengakses variabel global tersebut harus digunakan operator ruang lingkup (::), dengan cara penulisan: :: (variabel_global);
JENIS - JENIS FUNGSI Berdasarkan kegunaannya, fungsi di dalam bahasa pemrograman C++ dibedakan atas: fungsi forward fungsi overload fungsi rekursi Fungsi forward, merupakan cara lain dari pendeklarasian dan pendefinisian fungsi. Pada fungsi tipe ini, header fungsi diletakkan pada bagian “deklarasi global”, sedangkan pendefinisian fungsi diletakkan sesudah pendefinisian fungsi main(). Fungsi overload merupakan kemampuan C++ yang memungkinkan sebuah fungsi dapat menerima berbagai tipe dan memberikan nilai kembalian yang bervariasi pula. Secara praktis, fungsi overload adalah dua atau lebih fungsi yang memiliki nama fungsi yang sama dengan argumen dan isi fungsi yang berbeda. Fungsi rekursi merupakan fungsi yang pada pendefinisian fungsi tersebut terdapat pernyataan yang memanggil fungsi itu sendiri.
C. TUGAS PENDAHULUAN Tanyakan pada assisten
D. PERCOBAAN 1. Program percobaan
Bagaimana hasil outputnya? Apa maksud perintah luas() ?
2. Program percobaan
Bagaimana hasil outputnya? Apa yang terjadi jika input1() pada void main() di hilangkan? Analisalah program diatas!
3. Program percobaan
1. Jelaskan potongan program “ int minimum (int, int)”! 2. Analisislah program diatas dengan mengetahui fungsi dari program minimum (int x, int y)
4. Program percobaan
1. Bagaimana hasil outputnya? 2. Apa yang dimaksud variable lokal? 3. Bagaimana hasil output jika int i=20 dihilangkan?
5. Program percobaan : variable eksternal
1. Bagaimana hasil outputnya? 2. Apa yang dimaksud variable eksternal? 3. Analisalah program diatas!
6. Program pecobaan: variable static
1. Bagaimana hasil outputnya? 2. Apa yang dimaksud variabel static?
7. Program percobaan : rekursi
1. Bagaimana hasil outputnya? 2. Apa yang dimaksud fungsi rekursi? 3. Jelaskan isi program dalam “int faktorial (int m)”!
Soal Buatlah pemograman konversi suhu celcius ke dalam farenheit dengan memanfaatkan fungsi. (F=1.8*C+32)