soal praktikum

Upload: andika

Post on 05-Oct-2015

118 views

Category:

Documents


21 download

DESCRIPTION

andika

TRANSCRIPT

MODUL IDASAR 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 do-while 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 masing-masing 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 :ZodiakJangkauan Tanggal

Aries21 Maret - 19 April

Taurus20 April - 20 Mei

Gemini21 Mei - 20 Juni

Cancer21 Juni - 22 Juli

Leo23 Juli - 22 Agustus

Virgo23 Agustus - 22 September

Libra23 september - 22 Oktober

Scorpio23 Oktober - 21 November

Sagitarius22 November - 21 Desember

Capricorn22 Desember - 19 Januari

Aquarius20 Januari - 18 Februari

Pisces19 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 PROSEDURETUGAS 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 sisid. Prisma Segitigae. TabungMODUL IIIARRAY 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 masing-masing proses pengurutan!MODUL IVSTRUTUR dan KELASTUGAS 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 VOPERASI 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

10Naruto12L98Shinichi

99

Fujimaru

67

Kaito99

Nobita

0Output : Berupa isi file asistenout.txt.

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. 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