Anda di halaman 1dari 8

MODUL I

DASAR PENGGUNAAN BAHASA PEMROGRAMAN

TUGAS PENDAHULUAN
1. Jelaskan langkah-langkah dalam instalasi kompiler C++ di computer !
2. Sebutkan dan jelaskan secara rinci tipe data dasar yang digunakan dalam
bahasa C++ dan keperluan memori untuk masing-masing tipe data serta
berikan contoh pendeklarasian tipe data tersebut !
3. Jelaskan pengertian dan kegunaan dari flowchart ! Lalu Gambarkan dan
jelaskan fungsi masing-masing simbol yang terdapat dalam flowchart !
4. Jelaskan dan berikan contoh penggunaan selection if, if-else, dan switch,
serta buatlah contoh flowchart serta sintaks penulisannya dalam C++ !
5. Jelaskan dan berikan contoh penggunaan repetition for, while, dan dowhile serta buatlah contoh flowchart serta sintaks penulisannya dalam C++ !
6. Jelaskan yang dimaksud dengan seni penulisan program beserta contohnya
!
7. Buatlah diagram alir (flowchart), pseudocode (notasi algoritma), dan trace
dari program-program pada soal-soal di bawah ini beserta flowchart masingmasing fungsi/prosedur pendukung yang digunakan !
SOAL
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.
2.

Buatlah program konversi berikut :


a. Bilangan desimal ke biner.
b.
Bilangan biner ke desimal.

3. Buatlah program untuk menentukan Zodiak dengan menginputkan tanggal


dan bulan lahir berdasarkan Ketentuan dari zodiaknya adalah seperti
berikut :
Zodiak
Jangkauan Tanggal
Aries
21 Maret - 19 April
Taurus
20 April - 20 Mei
Gemini
21 Mei - 20 Juni
Cancer
21 Juni - 22 Juli
Leo
23 Juli - 22 Agustus

Virgo
Libra
Scorpio
Sagitarius
Capricorn
Aquarius
Pisces

23 Agustus - 22 September
23 september - 22 Oktober
23 Oktober - 21 November
22 November - 21 Desember
22 Desember - 19 Januari
20 Januari - 18 Februari
19 Februari - 20 Maret

4. Buatlah program untuk menentukan nilai huruf akhir suatu matakuliah


dengan ketentuan :
Nilai Angka = (Nilai Tugas x 30%) + (Nilai Middle x 30%) + (Nilai Ujian
x 40%) 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.
5. Buatlah program untuk menampilkan deret bilangan Prima dari n buah
bilangan yang diinputkan. Input berupa sembarang bilangan n. Output
merupakan deret n buah bilangan prima.

MODUL II
FUNGSI dan PROSEDURE
TUGAS PENDAHULUAN
1. Jelaskan tentang konsep variabel lokal dan variabel global serta
perbedaannya !
2. Jelaskan tentang konsep fungsi dan prosedur, perbedaan keduanya, serta
aplikasinya dalam pemrograman dengan C++ !
3. Jelaskan tentang konsep passing by value, passing by reference dan
perbedaannya, serta buatlah contoh programan dengan Bahasa C++ !
4. Jelaskan perbedaan metode perulangan rekursif & iteratif !
5. Buatlah flowchart dan pseudocode (notasi algoritma) dari program pada
soal di bawah ini, lalu lakukan trace terhadap flowchart yang anda buat
sehingga yakin bahwa flowchart tersebut sudah benar.
SOAL
1. Buatlah program untuk menampilkan deret bilangan Fibonacci
menggunakan metode rekursif dan interatif!
2. Buatlah program untuk menghitung banyak langkah minimum yang
diperlukan dalam memindahkan n buah cakram pada kasus menara hanoi
dengan menggunakan konsep perulangan rekursif dan iteratif !
3. Buatlah sebuah program untuk mencari faktor persekutuan terbesar (FPB)
dari 2 buah bilangan bulat dengan menggunakan konsep perulangan
rekursif dan iteratif !
4. Buatlah program untuk menghitung luas dan keliling bangun datar berikut
dengan menggunakan konsep fungsi:
a. Persegi Panjang
b. Segitiga sembarang
c. Lingkaran
d. Trapesium
e. Jajargenjang
5. Buatlah program untuk menghitung volume dan luas permukaan bangun
ruang berikut dengan menggunakan konsep prosedur:
a. Balok
b. Bola
c. Limas Segitiga sama sisi
d. Prisma Segitiga
e. Tabung

MODUL III
ARRAY dan POINTER
TUGAS PENDAHULUAN
1. Jelaskan tentang array dan deklarasi array dalam C++ serta tipe data yang
mungkin digunakan dalam array. Berikan contoh deklarasi array dalam C++
lalu hitung keperluan memory-nya. !
2. Jelaskan apa yang dimaksud dengan pointer serta berikan contoh
pendeklarasian dan penggunaan pointer dalam bahasa C++ !
3. Jelaskan secara rinci perbedaan array dan pointer !
4. Buatlah contoh cara membangkitkan bilangan random dalam C++ !
5. Jelaskan apa yang dimaksud dengan sorting dan searching !
6. Jelaskan mekanisme metode pengurutan dan pencarian berikut serta
berikan contoh pengurutan data yang dilakukan dengan metode tersebut.
a. Insertion Sort
a. Bubble Sort
b. Quick Sort
c. Sequential Search
d. Binary Search
7. Buatlah flowchart dan pseudocode (notasi algoritama) dari masing-masing
metode di atas, lalu buatlah trace dari flowchart yang anda buat.
SOAL
1. Implementasikan flowchart yang anda kerjakan pada soal pendahuluan no
6 ke dalam program C++.
2. Tambahkan pencatat waktu yang bisa digunakan untuk menghitung waktu
proses masing-masing metode pengurutan dan pencarian data tersebut.
3. Lakukan uji coba terhadap program yang anda buat yang mana
pembangkitan data akan diurutkan bisa dari masukan melalui keyboard dan
juga bisa melalui pembangkitan bilangan acak (pengguna hanya
memasukkan banyaknya bilangan yang akan diurutkan).
4. Lakukan uji coba terhadap program anda dengan pembangkitan bilangan
yang akan diurutkan secara acak, dengan banyak bilangan 1000, 2000, 4000,
8000, 16000, 32000, dan 64000 data. Lalu catatlah waktu yang diperlukan
untuk mengurutkan masing-masing jumlah data tersebut kemudian
bandingkan.
5. Buatlah program untuk melakukan operasi matematika pada matriks
(perkalian, penjumlahan, transpose)!
6. Buatlah program statistika untuk menghitung nilai median, modus dan
mean dari n data yang diinputkan dengan menggunakan pointer !
7. Buatlah 100 data acak yang disimpan dalam sebuah array ! Lakukan
pengurutan kepada sekumpulan data tadi dengan cara biasa dan

menggunakan pointer ! catat berapa waktu yang dibutuhkan untuk masingmasing proses pengurutan!

MODUL IV
STRUTUR dan KELAS
TUGAS PENDAHULUAN
1 Jelaskan tentang pengertian, perbedaan serta kegunaan antara Struct dan
Class !
2 Apakah perbedaan antara struct dan class yang bersifat private dan public ?
3 Berikan contoh penggunaan struct dan juga class secara private maupun
public dalam C++ !
4 Jelaskan secara rinci mengenai class dan objek dalam C++, serta berikan
contoh pembuatan class beserta objeknya !
5 Jelaskan macam-macam akses modifier yang ada pada dalam C++ !
6 Jelaskan macam-macam pembuatan prosedur atau function dalam class
pada C++ !
7 Jelaskan yang dimaksud dengan Inheritance dan macam-macam cara
melakukannya !
8 Buatlah flowchart dan pseudocode (notasi algoritma) dari masing-masing
soal dibawah, lalu buat trace terhadap flowchart yang anda buat !
SOAL
1 Buatlah sebuah program untuk menghitung gaji harian ! Diketahui gaji
perjam = 1500, dan bila jumlah jam kerja lebih dari 8 jam, maka
kelebihnya akan dianggap sebagai lembur dan gaji perjam lembur = 10 x
gaji perjam.
2 Diketahui sebuah mainan tamia memiliki dinamo yang menghabiskan
0,001 Amper/s. Dengan konsumsi energi sebesar itu, dinamo tadi dapat
memutar roda tamia sebanyak 8 kali/detik. Lalu ukuran roda yang beredar
hanya 18mm, 21mm, dan 24mm, dimana pada ukuran terkecil dapat
menggunakan seluruh kecepatan yang dihasilkan dinamo, dan akan
berkurang menjadi 9/10 dari kecepatan semula jika ukuran diameter
rodanya bertambah sebanyak 3mm. Sehinnga dengan sejumlah daya
tertentu yang diberikan untuk tamia, serta setingan ban tertentu, seseorang
dapat menghitung berapa kecepatan tamia, kapan tamia tersebut akan mati
kehabisan energi, serta jarak tempuhnya.
Dengan kasus seperti di atas buatlah classnya dalam bahasa C++, tentukan
seluruh properti, dan method atau fungsinya yang harus dimiliki class
tamia tersebut untuk memenuhi kasus diatas. implementasikan penggunaan
seter dan geter.

MODUL V
OPERASI FILE
TUGAS PENDAHULUAN
1. Jelaskan tentang penggunaan tipe data string beserta dengan fungsi-fungsi
yang dapat di pakai untuk mengkonversi tipe data string ke tipe data lain.
2. Jelaskan dan berikan contoh penggunaan FILE dan statement lain yang
digunakan dalam operasi file, dalam C++.
3. Buatlah flowchart dan pseudocode (notasi algoritama) dari program pada
soal di bawah ini.
SOAL
1. Buatlah sebuah program untuk menginputkan kata kemudian tentukan
banyak huruf dalam kata tersebut dan tentukan apakah kata tersebut
merupakan palindrom atau tidak. Simpan hasilnya dalam sebuah file txt
(kamuskata.txt) yang isinya tidak akan hilang jika program di close dan
dapat di-update terus menerus.
Contoh:
Input : malam
Output pada kamuskata.txt : malam m=2 a=2 l=1 Palindrom.
2. Buatlah sebuah sistem informasi data mahasiswa dari bahasa
pemrograman C++. Program tersebut berisi NIM dan Nama Mahasiswa.
Data pada program tersebut disimpan dalam sebuah file (file text) dimana
file tersebut dapat ditempatkan pada drive manapun. Data dalam program
tidak hilang jika program dimatikan dan dapat di-update terus menerus,
selain itu program ini tidak memungkinkan ada pendoublean data
mahasiswa (Gunakan searching untuk menentukan apakah data baru yang
ingin ditambah sudah ada atau belum). Program Sistem Informasi tersebut
diharapkan mampu untuk menciptakan sebuah file, membaca file dan
mencetak sebuah file untuk dapat diupdate terus menerus.
3. Buatlah program permasalahan berikut ini.
Masalah :
Anda adalah seorang asisten dari matakuliah Algoritma dan
Pemrograman di suatu kelas. Pada suatu hari diadakan quiz di kelas
tersebut. Anda mengoreksi semua jawaban mahasiswa dan menyimpannya
ke dalam file asisten.in bertipe text. Namun karena hasil koreksi anda
belum tersorting, Anda menjadi bingung untuk melakukan ranking
terhadap hasil tersebut sehingga anda berencana mengubah hasil nilai
tersebut menjadi tersorting. Anda kemudian menyimpannya ke dalam file
asistenout.txt yang bertipe text agar dapat dilihat di waktu lain. Buatlah
program yang membaca file asistenin.txt kemudian mengurutkan dari nilai
terbesar ke terkecil dan mencetak hasilnya ke dalam asistenout.txt.
Input :
Pada file input asistenin.txt terdapat data berupa nama dan nilainya,
setiap data menghabiskan 2 baris. Contoh file input sebagai berikut.

Luffy
10
Naruto
12
L
98
Shinichi
99
Fujimaru
67
Kaito
99
Nobita
0

Output :
Berupa isi file asistenout.txt.
Nilai Mata Kuliah Algoritma dan Pemrograman
1. Shinichi 99
2. Kaito 99
3. L 98
4. Fujimaru 67
5. Naruto 12
6. Luffy 10
7. Nobita 0

Petunjuk :
Gunakan struct untuk mengelompokan data dan memudahkan operasi
seperti contoh berikut :
struct mahasiswa
{
char nama[100];
int nilai;
};

Gunakan Sorting yang sudah di bahas di modul sebelumnya untuk


melakukan rangking.