Senin, 14 Juni 2010

TUGAS BESAR ALGORITMA PEMOGRAMAN 2010

SPESIFIKASI TUGAS BESAR

ALGORITMA PEMROGRAMAN 2009/2010

DELIVERABLES

  1. Tugas dikerjakan dalam bahasa pemrograman C, bila perlu tambahkan asumsi maupun fungsi/prosedur yang relevan.
  2. Tugas dikemas dalam berkas terkompresi (contoh TBAP-11.zip untuk kelompok 11) dikirim ke edys@undip.ac.id  paling lambat tanggal 27 Juni 2010.
  3. 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).
  4. 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:

  1. procedure BuatTabmhs (output T:tabmhs)
    {mengisi setiap elemen dengan nim=0, nilai=0}
  2. procedure IsiTabmhs (input/output T:tabmhs, output N:integer)
    {mengisi T[1]..T[N] dari papan kunci, pengisian berhenti jika nim masukan <0,>
  3. 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}
  4. 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}
  5. procedure SortNim(input/output T:tabmhs, input N:integer)
    {mengurutkan dan menampilkan isi tabel T berdasarkan nim terurut menaik}
  6. 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}
  7. 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}
  8. 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

  1. procedure BuatTabnim (output T:tabnim)
    {mengisi setiap elemen dengan nilai “” (string kosong)}
  2. 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”}
  3. function Angkatan(nim:string) → integer
    {mengubah nim menjadi angka tahun, contoh Angkatan(“J2F009001”) = 2009}
  4. function CacahAngkatan(T:tabnim, N:integer, A:integer) → integer
    {menghitung banyaknya kemunculan angkatan A dalam tabel T yang berisi N elemen}
  5. procedure RekapAngkatan(input T:tabnim, N:integer)
    {menghitung dan menampilkan frekuensi relatif setiap angkatan yang ada di dalam tabel T yang berisi N elemen}
  6. 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}
  7. 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}
  8. 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

  1. procedure BuatTabnilai (output T:tabnilai)
    {mengisi setiap elemen dengan nilai 0}
  2. procedure IsiTabnilai (input/output T:tabnilai, output N:integer)
    {mengisi T[1]..T[N] dari papan kunci, pengisian berhenti jika angka yang dimasukkan <0}
  3. 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}
  4. function CacahNilai(T:tabnilai, N:integer, X:character) → integer
    {menghitung banyaknya kemunculan nilai X dalam tabel T yang berisi N elemen}
  5. 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}
  6. 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}
  7. 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}
  8. menu yang memungkinkan user untuk memilih aksi

 

Selamat mengerjakan.

Tidak ada komentar:

Posting Komentar

 

Home | UNDIP Site | Informatika UNDIP | HMIF | GudangIT Forum | Informatika'09 on Facebook

Catatan Informatika '09 © Template Modified by DIYAS | Publisher : Admin Blog Informatika 2009