SPESIFIKASI TUGAS BESAR
ALGORITMA PEMROGRAMAN 2009/2010
DELIVERABLES
- Tugas dikerjakan dalam bahasa pemrograman C, bila perlu tambahkan asumsi maupun fungsi/prosedur yang relevan.
- Tugas dikemas dalam berkas terkompresi (contoh TBAP-11.zip untuk kelompok 11) dikirim ke edys@undip.ac.id paling lambat tanggal 27 Juni 2010.
- Berkas terdiri atas 3 direktori yaitu
- KODE (berisi file-file source code *.h dan *.c),
- PROGRAM (berisi file-file eksekusi dan data), dan
- DOK (berisi file dokumentasi pembagian tugas, termasuk strategi yang digunakan). - Demonstrasi program dapat dilakukan dengan perjanjian
SOAL A untuk kelompok 1,2, dan 3
Diberikan tabel Mahasiswa (tabmhs) yang berisi paling banyak 160 elemen bertipe mahasiswa. Tipe mahasiswa terdiri atas 2 komponen yaitu nim:integer (diambil dari 3 digit akhir NIM) dan nilai:integer.
Buatlah tipe data yang sesuai dan realisasikan primitif berikut:
- procedure BuatTabmhs (output T:tabmhs)
{mengisi setiap elemen dengan nim=0, nilai=0} - procedure IsiTabmhs (input/output T:tabmhs, output N:integer)
{mengisi T[1]..T[N] dari papan kunci, pengisian berhenti jika nim masukan <0,> - function BanyakNilai(T:tabmhs, N:integer, X:character) → integer
{menghitung banyak kemunculan nilai yang ada dalam ranah nilai sebagai berikut
0..E..50..D..60..C..70..B..80..A..100. Misal X='B' maka nilai yang dicari antara 70-80} - function GetNilai(T:tabmhs, N:integer, nim:integer) → character
{mencari kemunculan nim di T kemudian mengembalikan nilai hasil konversi angka ke huruf dengan aturan ranah : 0..E..50..D..60..C..70..B..80..A..100} - procedure SortNim(input/output T:tabmhs, input N:integer)
{mengurutkan dan menampilkan isi tabel T berdasarkan nim terurut menaik} - procedure SimpanTabmhs(input T:tabmhs, input N:integer, output Fout:string)
{menyimpan elemen T[1]..T[N] ke dalam file csv sesuai nama pada Fout} - procedure MuatTabmhs(output T:tabmhs, output N:integer, input Fin:string)
{memuat isi file yang berkelindan dengan Fin ke dalam tabel T sebanyak N elemen} - menu yang memungkinkan user untuk memilih aksi
SOAL B untuk kelompok 4,5,6
Diberikan tabel NIM (tabnim) berisi paling banyak 1000 elemen string. Contoh elemen:”J2F009001”.
Buatlah type yang sesuai dan realisasikan primitif berikut untuk tabel nilai tersebut
- procedure BuatTabnim (output T:tabnim)
{mengisi setiap elemen dengan nilai “” (string kosong)} - procedure IsiTabnim (input/output T:tabnim, output N:integer)
{mengisi T[1]..T[N] dari papan kunci secara unik (tak ada >1 nim yang sama), pengisian berhenti jika yang dimasukkan = “999”} - function Angkatan(nim:string) → integer
{mengubah nim menjadi angka tahun, contoh Angkatan(“J2F009001”) = 2009} - function CacahAngkatan(T:tabnim, N:integer, A:integer) → integer
{menghitung banyaknya kemunculan angkatan A dalam tabel T yang berisi N elemen} - procedure RekapAngkatan(input T:tabnim, N:integer)
{menghitung dan menampilkan frekuensi relatif setiap angkatan yang ada di dalam tabel T yang berisi N elemen} - procedure SimpanTabnim(input T:tabnim, input N:integer, output Fout:string)
{menyimpan elemen T[1]..T[N] ke dalam file csv sesuai nama pada Fout} - procedure MuatTabnim(output T:tabnim, output N:integer, input Fin:string)
{memuat isi file yang berkelindan dengan Fin ke dalam tabel T sebanyak N elemen} - menu yang memungkinkan user untuk memilih aksi
SOAL C untuk kelompok 7,8,9,10
Diberikan tabel nilai (tabnilai) berisi paling banyak 160 elemen integer[0..100].
Buatlah type yang sesuai dan realisasikan primitif berikut untuk tabel nilai tersebut
- procedure BuatTabnilai (output T:tabnilai)
{mengisi setiap elemen dengan nilai 0} - procedure IsiTabnilai (input/output T:tabnilai, output N:integer)
{mengisi T[1]..T[N] dari papan kunci, pengisian berhenti jika angka yang dimasukkan <0} - function Konversi(nilai:integer[0..100]) → character
{mengubah nilai angka menjadi huruf dengan aturan rentang ranah nilai sebagai berikut:
0..E..50..D..60..C..70..B..80..A..100} - function CacahNilai(T:tabnilai, N:integer, X:character) → integer
{menghitung banyaknya kemunculan nilai X dalam tabel T yang berisi N elemen} - procedure RekapNilai(input T:tabnilai, N:integer)
{menghitung dan menampilkan frekuensi relatif peraih nilai A,B,C,D,E dalam tabel T yang berisi N elemen} - procedure SimpanTabnil(input T:tabnilai, input N:integer, output Fout:string)
{menyimpan elemen T[1]..T[N] ke dalam file csv sesuai nama pada Fout} - procedure MuatTabnil(output T:tabnilai, output N:integer, input Fin:string)
{memuat isi file yang berkelindan dengan Fin ke dalam tabel T sebanyak N elemen} - menu yang memungkinkan user untuk memilih aksi
Selamat mengerjakan.
Tidak ada komentar:
Posting Komentar