Anda di halaman 1dari 15

Nama NIM Kelompok

: RR. Siti Sarah Wulan A.Y.U : 1104505044 : 10

PRAKTIKUM ALGORITMA DAN PEMROGRAMAN MODUL I DASAR PENGGUNAAN BAHASA PEMROGRAMAN

1.1 1. 2. 3. 4. 5. 1.2 1.

Tujuan Mengetahui dan memahami penggunaan menu-menu dasar yang pada kompiler C++. Memahami pemilihan tipe data yang tepat dan efisien. Memahami proses pembuatan program komputer mulai dari pemahaman masalah, melakukan perancangan algoritma (flowchart), coding, testing. Memahami penggunaan statemen pemilihan if, if..else, dan switch. Memahami penggunaan statemen perulangan for, while dan do while. Tugas Pendahuluan Jelaskan langkah-langkah dalam instalasi kompiler C++ di komputer. Kemudian buatlah contoh program sederhana lengkap dengan algoritma, flowchart beserta tracenya. Sebutkan dan jelaskan secara rinci tipe data dasar yang digunakan dalam bahasa C++ serta keperluan memori untuk masing-masing tipe data. Jelaskan dan berikan contoh penggunaan statemen kontrol if, if.else, dan switch, serta tampilkan flowchart serta sintaks penulisannya dalam C++. Jelaskan dan berikan contoh penggunaan statemen perulangan for, while, dan do while. Buatlah diagram alir (flowchart) dan pseudocode (notasi algoritama) dari program-program pada soal-soal di bawah ini beserta flowchart masingmasing fungsi/prosedur pendukung yang digunakan. (lengkap dengan tracing) Jelaskan mengenai seni penulisan program, dan aplikasikanlah setiap anda membuat program. Jawaban Agar perintah dalam bahasa pemrograman yang digunakan (bahasa assembly dan bahasa tingkat tinggi) dapat dipahami oleh komputer dan dapat dijalankan oleh mikroprosessor, maka perintah tersebut harus diterjemahkan terlebih dahulu ke dalam bahasa mesin. Proses penterjemah inilah yang disebut proses kompilasi (compiling). Program atau software yang digunakan untuk proses kompilasi dinamakan compiler. Langkah-langkah Install compiler C++:

2. 3. 4. 5.

6.

1.3 1.

1. Pilih file install.exe pada hasil extract file C++.zip 2. Setelah muncul tampilan tekan enter 3. Lalu muncul permintaan untuk meminta path dari installer, tekan enter, kemudian pada pilihan berikutnya pilih menu install C++ on a hard drive 4. Kemudian akan muncul beberapa pilihan pada installation utility gerakkan kursor ke bawah menggunakan panah ke bawah pilih Start Installation atau menekan tombol F9. 5. Tunggu installation selesai berjalan. Setelah itu close layar tersebut. 6. Untuk menjalankan program C++ Masuk ke drive C:\ >C++> BIN dan klik dua kali pada C++.exe Algoritma mengalikan dua buah bilangan: 1. Masukkan bilangan pertama 2. Masukkan bilangan kedua 3. Kalikan kedua buah bilangan 4. Cetak hasil dari perkalian Flowchart: START INPUT a,b

HASIL a*b

PRINT HASIL

STOP #include <iostream> using namespace std; int main ( ) { int a,b,hasil; cout <<"masukkan bilangan pertama: "; cin>>a; cout <<"masukkan bilangan kedua: "; cin>>b; hasil=a*b; cout <<"hasil perkalian= " <<hasil<< "\n"; return 0; }

Trace: Input : Bilangan pertama Bilangan kedua = 3 = 4

Proses: bilangan pertama*bilangan kedua Output : 12 2. Dalam C++ terdapat beberapa tipe data dasar yang telah didefinisikan, yaitu yang digolongkan ke dalam tipe bilangan bulat (integer), bilangan riil (floating-point), tipe logika (Boolean), tipe karakter/teks (character/string). a. Tipe bilangan bulat Tipe data ini digunakan untuk data-data bilangan yang tidak mengandung angka dibelakang koma. Tipe data yang termasuk kedalam kategori ini adalah seperti yang terlihat pada tabel dibawah ini. Tipe Data Int Unsigned int Signed int Short int Unsigned short int Signed short int Long int Signed long int Unsigned long int Ukuran (dalam bit) 16 atau 32 16 atau 32 16 atau 32 16 16 16 32 32 32 Rentang -32.768 sampai 32.767 0 sampai 65.535 Sama seperti int -32.768 sampai 32.767 0 sampai 65.535 Sama seperti short int -2.147.483.648 2.147.483.647 Sama seperti long int 0 smapai 4.294.967.295

b. Tipe bilangan riil Tipe data ini digunakan untuk data-data bilangan yang mengandung angka dibelakang koma (desimal). Tipe data yang termasuk kedalam kategori ini adalah seperti yang terlihat pada tabel dibawah ini. Tipe data Ukuran (dalam bit) Rentang Presisi

Float Double Long double

32 64 80

1.2E-38 sampai 3.4E+38 2.3E-308 sampai 1.7E+308 3.4E-4932 to 1.1E+4932

6 digit 15 digit 19 digit

c. Tipe logika Tipe data ini digunakan untuk data-data yang hanya mengandung nilai logika (Boolean). Nilai logika itu sendiri hanya terdiri dari nilai benar (direpresentasikan dengan nilai 1) dan salah (direpresentasikan dengan nilai 0). Dalam pemrograman, nilai ini umumnya lebih dikenal dengan nilai true (benar) dan false (salah). d. Tipe karakter/string Tipe data ini digunakan untuk data-data yang berupa karakter. Tipe ini dinyatakan dengan tipe char, sedangkan untuk string (=kumpulan karakter) dinyatakan sebagai pointer dari tipe char, yaitu yang dituliskan dengan char*. Contoh tipe karakter adalah A, a, 1, #, dan sebagainya. Sedangkan mengungkap, rahasia, C++ adalah contoh dari tipe char*. Untuk lebih memudahkan dalam membedakan tipe karakter dan string adalah tanda yang mengapitnya. Dalam C++, tipe karakter diapit oleh tanda petik tunggal (), sedangkan tipe string diapit oleh tanda petik ganda (). Adapun tipe data dalam kategori ini yang didefinisikan oleh ANSI/ISO C++ Standard adalah seperti yang terlihat pada tabel dibawah ini. Tipe data Char Unsigned char Signed char 3. Ukuran (dalam bit) 8 8 8 Rentang -128 sampai 127 atau 0 sampai 255 0 sampai 255 -128 sampai 127

Struktur kontrol pada bahasa pemrograman C++ sangat diperlukan untuk membuat program dengan kondisi bersyarat atau proses pemilihan sesuai dengan kondisi yang digunakan. Untuk itu, bahasa pemrograman C++ menyediakan beberapa struktur kontrol, yaitu : Statement If : Pernyataan If akan menentukan sebuah pernyataan (blok kode) yang akan eksekusi jika dan hanya jika bernilai benar (true). sintaksnya dapat ditulis sebagai berikut:

If (kondisi) statemen; Flowchart: Salah kondisi Benar statemen

contoh penulisan programnya: #include <iostream> using namespace std; int main ( ) { int nilai; cout <<"masukkan sebuah bilangan: "; cin>>nilai; if (nilai>0) cout <<"bilangan yang anda masukkan adalah bilangan positif"; return 0; }

Statement If.else

: Apabila ingin mengeksekusi beberapa pernyataan dengan kondisi true dan pernyataan yang lain dengan kondisi false. sintaksnya dapat ditulis sebagai berikut: If (kondisi) { Statemen1; } else { statemen2; }

Flowchart:

True

kondisi

false

Statemen1

Statemen2

contoh penulisan programnya: #include <iostream> using namespace std; int main() { int nilai; cout <<"masukkan sebuah bilangan: "; cin>>nilai; if (nilai>0){ cout <<"bilangan yang anda masukkan adalah bilangan positif"; }else{ if (nilai==0) cout <<"bilangan yang anda masukkan adalah nol"; else cout <<"bilangan yang anda masukkan adalah bilangan negatif"; } return 0; }

Statement Switch

: Mengkonstruksikan cabang untuk beberapa kondisi dari nilai. sintaksnya dapat ditulis sebagai berikut: switch (ekspresi) { case value1 : statement1; break; case value2 : statement2; break; case valueN : statementN; break; default : statement_alternatif; break; } #include <iostream> using namespace std; int main ( ) { int bil; cout <<"masukkan sebuah bilangan (1-7): "; cin>>bil; switch (bil) { case 1: cout <<"hari ke-"<<bil<<" : adalah minggu"; break; case 2: cout <<"hari ke-"<<bil<<" : adalah senin"; break; case 3: cout <<"hari ke-"<<bil<<" : adalah selasa"; break; case 4: cout <<"hari ke-"<<bil<<" : adalah rabu"; break; case 5: cout <<"hari ke-"<<bil<<" : adalah kamis"; break; case 6: cout <<"hari ke-"<<bil<<" : adalah jumat"; break; case 7: cout <<"hari ke-"<<bil<<" : adalah sabtu"; break; default: cout <<"tidak terdapat nama hari ke-"<<bil; } return 0; }

4.

Penjelasan dan contoh statemen perulangan for, while, dan do while: Statement For : Perulangan for merupakan perulangan yang sudah diketahui jumlah perulangannya serta memiliki kondisi awal dan kondisi akhir. //untuk perulangan yang sifatnya naik (increment) for (variable = nilai awal; kondisi; variable++) {statemen yang akan diulang; } //untuk perulangan yang sifatnya menurun (decrement) for (variable = nilai awal; kondisi; variable--) {statemen yang akan diulang; } Sebagai catatan, jika kita melakukan perulangan yang sifatnya naik maka nilai awal dari variable yang kita definisikan haruslah lebih kecil dari nilai akhir yang dituliskan dalam kondisi. Sebaliknya, jika kita akan melakukan perulangan yang sifatnya menurun maka nilai awal harus lebih besar dari nilai akhir. Berikut ini contoh program yang menunjukkan perulangan dengan menggunakan struktur for. #include <iostream> using namespace std; int main() { int a; for (a=0; a<3; a++) { cout <<"Nama saya erna"<<endl; } return 0; } Program diatas jika dijalankan hasilnya adalah: Nama saya erna Nama saya erna Nama saya erna

Penjelasan: statemen Nama saya erna akan diulang sebanyak 3 kali yaitu dengan menghitung dari nilai a ke-0 sampai a ke-2. Statement While : Perulangan while merupakan perulangan dengan pengecekan kondisi dilakukan di awal perulanggan. While (kondisi) { Statemen yang akan diulang; } Berikut ini contoh program menggunakan struktur while. #include <iostream> using namespace std; int main() { int a; a=0; while (a<3){ cout <<"saya menyukai C++"<<endl; a++; } return 0; } bila program diatas dijalankan maka hasilnya akan seperti ini: saya menyukai C++ saya menyukai C++ saya menyukai C++ Statement Do while : Struktur perulangan do-while hampir sama dengan perulangan while, hanya saja struktur perulangan do while pengecekan kondisi perulangan dilakukan di akhir perulangan. yang menunjukkan perulangan dengan

do { Statemen yang akan diulang; } while (kondisi);

Berikut ini contoh program yang diambil dari kasus sebelumnya namun disini kita akan menggunakan struktur do-while. #include <iostream> using namespace std; int main() { int a=0; do { cout <<"saya menyukai C++"<<endl; a++; } while (a<3); return 0; } 5. Flowchart, pseudocode, dan dari program-program di bawah ini adalah: 1. Buatlah program untuk menghitung akar-akar persamaan kuadrat x1 dan x2 dari persamaan ax2 + bx + c. Program bisa menampilkan keterangan apakah akar-akar tersebut apakah real atau imajiner (ditentukan dari determinan D = b2 4ac), dan apakah akar-akar tersebut kembar atau berbeda. Input program berupa nilai a, b dan c. Output berupa nilai x1 dan x2, real atau imajiner dan kembar atau berbeda.

Flowchart: start

input a,b,c

Db*b-4*a*c

D>0 y

D=0?

x1=(-b+sqrt(D))/2*a; x2=(-b-sqrt(D))/2*a

y x1,x2=(-b)/2*a print x1,x2, akar real berbeda

print x1,x2, akar real kembar

print akar imajiner stop

Pseudocode: Deklarasi a,b,c:integer; D,x1,x2:real;

Proses input a,b,c D=b*b-4*a*c if D>0 x1=(-b+sqrt(D))/2*a x2=(-b-sqrt(D))/2*a print x1, x2, akar real berbeda else if D=0 x1, x2=(-b)/2*a print x1, x2, akar real kembar else print akar imajiner end if trace: Input : a b c Proses: D x1 x2 Output : x1 x2 = 1 = 5 = 6 = (5*5) (4*1*6) = 1 = (- 5 + sqrt (1)) / 2*1 = - 2 = (- 5 sqrt(1)) / 2*1 = - 3 = -2 = -3

akar real berbeda

2. Buatlah program untuk menentukan nilai huruf akhir suatu mata kuliah dengan ketentuan : Nilai Angka = (Nilai Tugas x 35%) + (Nilai Middle x 30%) + (Nilai Ujian x 35%) Nilai huruf ditentukan dengan ketentuan berikut. (NA = Nilai Angka) 0 NA < 45 E 45 NA < 55 D 55 NA < 65 C 65 NA < 80 B 80 NA < 100 A Input program berupa nilai tugas, nilai middle dan nilai ujian. Output berupa nilai angka dan nilai huruf yang didapat dengan ketentuan diatas.

Flowchart: start

input nilai tugas, nilai middle, nilai ujian

NA (nilai tugas*0.35) + (nilai middle*0.30) + (nilai ujian*0.35)

print NA

NA<45

print E

NA<55

print D

NA<65

print C

NA<80

print B

print A

stop

pseudocode: deklarasi nilai tugas, nilai middle, nilai ujian:integer; NA:real; Proses input nilai tugas input nilai middle input nilai ujian NA=(nilai tugas x 35%) + (nilai middle x 30%) + (nilai ujian x 35%) print NA if NA<45 print E else if NA<55 print D else if NA<65 print C else if NA<80 print B else print A end if trace: Input : nilai tugas = 80 nilai middle = 85 nilai ujian =87 Proses : NA = (80*0.35)+(85*0.30)+(87*0.35) = 83.95 A

Output :

6.

3. Buatlah program untuk menampilkan deret bilangan prima dan Fibonacci dari n buah bilangan yang diinputkan. Input merupakan sembarang bilangan n. Output merupakan deret n buah bilangan prima dan Fibonacci. Aturan dasar penulisan dalam bahasa C++ - tiap baris perintah (statement) diakhiri dengan tanda ; kecuali penggunaan

file Header dan Deklarasi kostanta. - memiliki main( ) sebagai blok main program, blok main program dimulai dengan simbol { dan diakhiri dengan simbol } - Untuk mendeklarasikan lebih dari satu variabel, variabel tersebut dipisah dengan tanda koma (,). - Untuk menambahkan pernyataan/komentar dalam source menggunakan tanda // untuk perbaris, sedangkan apabila banyak maka menggunakan blok /* diakhir pernyataan */. - Perhatikan struktur dan kerangka penulisan program C++ - Perhatikan bahwa pada C++ berlaku case sensitive (huruf besar dan huruf kecil adalah beda). - Perhatikan penggunaan \n dan endl - Perhatikan extension file source untuk C++ adalah .cpp - Perhatikan langkah langkah kompilasi program C++ - Latih penangan error pada saat compile. Contoh format tugas pendahuluan