SlideShare a Scribd company logo
1 of 6
Download to read offline
Question 1
Marks: 0/100

Kuis Sederhana Rangkuman semua ADT
Anda sudah pernah diminta untuk mengimplementasikan ADT Point, Stack dan Queue dan sudah memakainya untuk persoalan sederhana.
Pada kuis praktikum kali ini, anda diminta untuk membuat program yang memakai ADT tsb dan ADT yang pernah anda buat, untuk versi-0.
Anda diminta untuk mengelola sebuah sistem kecil yang akan merupakan subsistem lebih besar, yaitu untuk menerima perintah
(“commandâ€), dan memroses kalender. Sebuah kalender disimpan dalam tabel Setiap baris tabel berisi data (disebut sebuah entri)
yang terdiri dari :
1. Id : nomor unik dan urut yang dimulai dengan NOL saat sistem dihidupkan
2. Data teridir dari
a. Tanggal : bertype date (untuk sementara direprentasi sebagai integer)
b. memo : bertype string (untuk sementara direpresentasi dengan 1 karakter saja)
Program MyCal berfungsi untuk menambah data yang sudah disimpan melalui “command line†(seperti sistem DOS). Antarmuka
aplikasi sangat sederhana, dimana pengguna akan mengetikkan perintah dan data. Daftar perintah yang dapat diketikkan disajikan pada
tabel Perintah sbb

Tabel Perintah

No

Perintah

Keterangan

1.

Add <data>

2.

Clean <n>

3.

View <n>

Menambahkan sebuah entri dengan memberikan datanya, sistem akan
men-generate idnya
Menghapus <n> entri yang paling lama. Jika perintah yang pernah
diketikkan kurang dari n, maka yang semua perintah dihapus (daftar
perintah menjadi kosong)
Menampilkan <n> entri yang disimpan. Jika Kalender kosong (belum ada
isinya), tidak melakukan apa-apa sebab tak ada yang di-view. Jika n
bernilai 0, maka menampilkan semua entri yang ada.

4.

Salin <n>

5.

Quit

Perintah ini tidak mengubah nilai yang tersimpan pada program
Menambahkan <n> perintah terakhir ke daftar perintah dengan menyalinnya,
dan sesuai urutannya
Keluar dari sistem, untuk versi-0 semua data hilang

Pada versi-0, perintah belum direpresentasi sebagai string, tapi direpresentasi dari nomornya dan nomor tsb merepresentasi indeks
dimana perintah tersebut disimpan dalam tabel perintah.

converted by Web2PDFConvert.com
Sistem akan mengelola :
- TRF, Sebuah Tabel Referensi perintah, yang setiap baris berisi < command:string> dan nomor perintah adalah indeks tabel. TRF[i]
isinya adalah perintah ke-i. Contoh : TRF[3] =
- S, Sebuah stack untuk mengeksekusi perintah Salin. Prosedur Tulis Stack akan memprint isi stack mulai “top†sampai ke
“bottomâ€, dan jika Stacknya kosong akan memprint “Stack kosongâ€
- Kalender, Sebuah Tabel yang berisi data hasil eksekusi daftar perintah yang “terkiniâ€. Data yang baru akan ditambahkan
sebagai elemen berikutnya. Tulis Kalender akan memprint isi Kalender dari elemen pertama s.d terakhir. Jika kalender kosong akan
memprint “Kalender kosongâ€
- IdSeq : sebuah counter yang akan diinisialisasi Nol dan terus ditambah sampai user menekan Quit. Nomor akan terus bertambah
Untuk versi-0, semua perintah hanya diketikkan nomornya.

Kerangka program utama adalah
Inisilisasi IdSeq dengan Nol
Inisialisasi TRF sesuai isi TRF yang diberikan di bawah
Inisialissi S, Kalender dengan kosong
Tulis 'Welcome'
Ulangi
Baca nomor perintah
Baca parameter sesuai perintah
Proses perintah sesuai tabel (1)
Sampai user mengetik perintah adalah Quit)
Tulis isi Kalender(Jika kalender kosong tulis ‘Kalender kosong’)
Tulis isi Stack
Tulis ‘Good bye’

Isi Tabel TRF

Contoh isi Kalender pada suatu saat

Tabel TRF
Indeks Perintah
TRF

Kalender
Id
Tanggal

Data

1
2
3
4
5
6
7
8
9

4
5
6
7
8
9
10

A
x
2
q
S
W
S

Add
Clean
View
Salin

120
200
300
12
111
134
190

Quit

Catatan mengenai tabel TRF: sengaja Quit dikode = 9 sebab pada latihan berikutnya, akan dipakai untuk perintah lain.

converted by Web2PDFConvert.com
Contoh urutan ketikan user dan isi tabel Kalender dan S(tidak ada hubungan dengan data di atas, urutan lain)

User mengetik

Keterangan

Nilai Counter dan Isi tabel

1

Add data

IdSeq=1

120 A

Tanggal=120 dan
Data=’A’
Add data

Kalender {<1,120,’A’> dan S= {}

Tanggal=10
,Data=’C’
Add data

Kalender {<1,120,’A’>, <2,10,’C’>} dan S= {}

Kalender {<1,120,’A’>, <2,10,’C’>,

3

Tanggal=200,
Data=’x’
View semua data

0
2

Clean dua data teratas

IdSeq=3

1
10 C
1
200 x

2
4
1

IdSeq=2

IdSeq=3
<3,200,’x’>} dan S= {}
Tidak mengubah kondisi tabel. Melakukan printf semua entri
yang ada (karena n=0) (lihat contoh I/O)

Kalender { <3,200,’x’>} dan S= {}
Memasukkan (push) 1
entri terakhir ke S,
kemudian mengosongkan
ke stack dengan
menambahkannya

IdSeq=3
Mula-mula: Kalender { <3,200,’x’>}, S=
{<3,200,’x’>}}
Kemudian: Kalender { <3,200,’x’>,<3,200,’x’>
}, S= {}

1

Add, menambah Idseq

200 B
1

Kalender { <3,200,’x’>,<3,200,’x’>, <4.200
Add, menambah Idseq

110 D
1

2

‘B’> }, S= {}
IdSeq=5

Kalender { <3,200,’x’>,<3,200,’x’>, <4.200
Add, menambah Idseq

300 Z
4

IdSeq=4

‘B’>, <5,110,’D’> }, S= {}
IdSeq=6

Kalender { <3,200,’x’>,<3,200,’x’>, <4.200
Salin 2 perintah terakhir

‘B’> , <5,110,’D’>,<6,300,’Z’> }, S= {}
Kalender { <3,200,’x’>,<3,200,’x’>, <4.200
‘B’ , <5,110,’D’>,<6,300,’Z’> ,
<5,110,’D’>,<6,300,’Z’> }, S= {}

converted by Web2PDFConvert.com
Contoh Input dan Output

Kasus Input-1
1
120 A
1
10 C
1
200 x
3
0
2
2
4
1
1
200 B
1
110 D
1
300 Z
4
2
9

Kasus Output -1
Welcome
1 120 A
2 10 C
3 200 x
3 200 x
3 200 x
4 200 B
5 110 D
6 300 Z
5 110 D
6 300 Z
Stack kosong
converted by Web2PDFConvert.com
Good bye

Kasus input-2
30
9

Output-2
Welcome
Kalender kosong
Stack kosong
Good bye

Kasus input-3
21
9

Output-3
Welcome
Kalender kosong
Stack kosong
Good bye

converted by Web2PDFConvert.com
Struktur data yang harus anda definisikan dalam bahasa C

/* konstanta yang diperlukan : Nmax adalah kapasitas Stack S dan Kalender*/
/* Ncommand adalah kapasitas tabel penyimpan banyaknya Command */
#define NMAx 100
#define Ncommand 10
typedef struct {
int Tanggal;
char memo; } data;

typedef struct { int Id;
data d } entri;

typedef struct { int perintah;
data d; } cmd;

/* TRF adalah array of string*/
/* Kalender adalah Queue of <id,data>. Selain Add dan delete , anda harus mengimplementasikan
sebuah prosedur “delete†tanpa menghapus elemen TAIL, hanya menyalin saja */
/* S adalah Stack of cmd */

Setoran :
Anda hanya diminta mengerjakan kuis ini untuk soal versi-o, dan menyetor semua file lengkap untuk persoalan ini. ADT yang anda pakai
harus lengkap header file dan bodynya.
Soal ini hanya akan dinilai outputnya berdasarkan eksekusi semua file yang anda submisi.

converted by Web2PDFConvert.com

More Related Content

Similar to OPTIMIZED-CALENDAR-MANAGEMENT

Prak05 sbd 24010311130069
Prak05 sbd 24010311130069Prak05 sbd 24010311130069
Prak05 sbd 24010311130069sandy_n
 
Slide minggu 2 pertemuan 2 (struktur data1)
Slide minggu 2 pertemuan 2 (struktur data1)Slide minggu 2 pertemuan 2 (struktur data1)
Slide minggu 2 pertemuan 2 (struktur data1)Setia Juli Irzal Ismail
 
Laporan praktikum modul viii
Laporan praktikum modul viiiLaporan praktikum modul viii
Laporan praktikum modul viiiDevi Apriansyah
 
Pengantar_Python.pptx
Pengantar_Python.pptxPengantar_Python.pptx
Pengantar_Python.pptxIkhwanulAbiyu
 
tif306 minggu ke-6_kls.krywn
tif306 minggu ke-6_kls.krywntif306 minggu ke-6_kls.krywn
tif306 minggu ke-6_kls.krywnstaffpengajar
 
Laporan praktikum modul v
Laporan praktikum modul vLaporan praktikum modul v
Laporan praktikum modul vDevi Apriansyah
 
Materi Kuliah : Dasar pemrograman 1
Materi Kuliah : Dasar pemrograman 1Materi Kuliah : Dasar pemrograman 1
Materi Kuliah : Dasar pemrograman 1Braga Rezpect
 
struct & stack
struct & stackstruct & stack
struct & stackM Satrio
 
SQL (Structured query language).pptx
SQL (Structured query language).pptxSQL (Structured query language).pptx
SQL (Structured query language).pptxBagusSantoso44
 
Minggu 09 - Array dan Tipe Bentukan.ppsx
Minggu 09 -  Array dan Tipe Bentukan.ppsxMinggu 09 -  Array dan Tipe Bentukan.ppsx
Minggu 09 - Array dan Tipe Bentukan.ppsxIndraWahyu33
 
Praktikum 03 Sistem Basis Data
Praktikum 03 Sistem Basis DataPraktikum 03 Sistem Basis Data
Praktikum 03 Sistem Basis DataAditya Nugroho
 
Tutorial surpac bag 3 ( input point )
Tutorial surpac bag 3 ( input point )Tutorial surpac bag 3 ( input point )
Tutorial surpac bag 3 ( input point )ALAM SEKITAR
 
Operasi hitung matematika dan statistik pada excel
Operasi hitung matematika dan statistik pada excelOperasi hitung matematika dan statistik pada excel
Operasi hitung matematika dan statistik pada excelHafis Mu'addab
 
Praktikum sistem basisdata nahot frastian s kom
Praktikum sistem basisdata nahot frastian s komPraktikum sistem basisdata nahot frastian s kom
Praktikum sistem basisdata nahot frastian s komNahot Frastian, M.Kom
 
Laporan Praktikum Struktur Data Modul 3
Laporan Praktikum Struktur Data Modul 3Laporan Praktikum Struktur Data Modul 3
Laporan Praktikum Struktur Data Modul 3azmi007
 
Modul operasi hitung ms.excel
Modul operasi hitung ms.excelModul operasi hitung ms.excel
Modul operasi hitung ms.excelAmalia Prahesti
 

Similar to OPTIMIZED-CALENDAR-MANAGEMENT (20)

Prak05 sbd 24010311130069
Prak05 sbd 24010311130069Prak05 sbd 24010311130069
Prak05 sbd 24010311130069
 
Slide minggu 2 pertemuan 2 (struktur data1)
Slide minggu 2 pertemuan 2 (struktur data1)Slide minggu 2 pertemuan 2 (struktur data1)
Slide minggu 2 pertemuan 2 (struktur data1)
 
Laporan praktikum modul viii
Laporan praktikum modul viiiLaporan praktikum modul viii
Laporan praktikum modul viii
 
Pengantar_Python.pptx
Pengantar_Python.pptxPengantar_Python.pptx
Pengantar_Python.pptx
 
teori Struktur data full
teori Struktur data fullteori Struktur data full
teori Struktur data full
 
Pratikum sistem basis data 3
Pratikum sistem basis data 3Pratikum sistem basis data 3
Pratikum sistem basis data 3
 
tif306 minggu ke-6_kls.krywn
tif306 minggu ke-6_kls.krywntif306 minggu ke-6_kls.krywn
tif306 minggu ke-6_kls.krywn
 
tif306 M4 kls.krywn
tif306 M4 kls.krywntif306 M4 kls.krywn
tif306 M4 kls.krywn
 
Tutorial membuat form dalam netbeans
Tutorial membuat form dalam netbeansTutorial membuat form dalam netbeans
Tutorial membuat form dalam netbeans
 
Laporan praktikum modul v
Laporan praktikum modul vLaporan praktikum modul v
Laporan praktikum modul v
 
Materi Kuliah : Dasar pemrograman 1
Materi Kuliah : Dasar pemrograman 1Materi Kuliah : Dasar pemrograman 1
Materi Kuliah : Dasar pemrograman 1
 
struct & stack
struct & stackstruct & stack
struct & stack
 
SQL (Structured query language).pptx
SQL (Structured query language).pptxSQL (Structured query language).pptx
SQL (Structured query language).pptx
 
Minggu 09 - Array dan Tipe Bentukan.ppsx
Minggu 09 -  Array dan Tipe Bentukan.ppsxMinggu 09 -  Array dan Tipe Bentukan.ppsx
Minggu 09 - Array dan Tipe Bentukan.ppsx
 
Praktikum 03 Sistem Basis Data
Praktikum 03 Sistem Basis DataPraktikum 03 Sistem Basis Data
Praktikum 03 Sistem Basis Data
 
Tutorial surpac bag 3 ( input point )
Tutorial surpac bag 3 ( input point )Tutorial surpac bag 3 ( input point )
Tutorial surpac bag 3 ( input point )
 
Operasi hitung matematika dan statistik pada excel
Operasi hitung matematika dan statistik pada excelOperasi hitung matematika dan statistik pada excel
Operasi hitung matematika dan statistik pada excel
 
Praktikum sistem basisdata nahot frastian s kom
Praktikum sistem basisdata nahot frastian s komPraktikum sistem basisdata nahot frastian s kom
Praktikum sistem basisdata nahot frastian s kom
 
Laporan Praktikum Struktur Data Modul 3
Laporan Praktikum Struktur Data Modul 3Laporan Praktikum Struktur Data Modul 3
Laporan Praktikum Struktur Data Modul 3
 
Modul operasi hitung ms.excel
Modul operasi hitung ms.excelModul operasi hitung ms.excel
Modul operasi hitung ms.excel
 

More from Dian Ramadhani

More from Dian Ramadhani (10)

Soal ujian sbd 2012 2013
Soal ujian sbd 2012 2013Soal ujian sbd 2012 2013
Soal ujian sbd 2012 2013
 
Soal mid sbd 2012 2013
Soal mid sbd 2012 2013Soal mid sbd 2012 2013
Soal mid sbd 2012 2013
 
Soal objektif ksi
Soal objektif ksiSoal objektif ksi
Soal objektif ksi
 
Lab internet
Lab internetLab internet
Lab internet
 
Lab si
Lab siLab si
Lab si
 
Silabus dbd
Silabus dbdSilabus dbd
Silabus dbd
 
Silabus Basis Data
Silabus Basis DataSilabus Basis Data
Silabus Basis Data
 
Kalender KP TA - SI 2012/2013
Kalender KP TA - SI 2012/2013Kalender KP TA - SI 2012/2013
Kalender KP TA - SI 2012/2013
 
Pedoman kp si
Pedoman kp siPedoman kp si
Pedoman kp si
 
Matkul si
Matkul siMatkul si
Matkul si
 

OPTIMIZED-CALENDAR-MANAGEMENT

  • 1. Question 1 Marks: 0/100 Kuis Sederhana Rangkuman semua ADT Anda sudah pernah diminta untuk mengimplementasikan ADT Point, Stack dan Queue dan sudah memakainya untuk persoalan sederhana. Pada kuis praktikum kali ini, anda diminta untuk membuat program yang memakai ADT tsb dan ADT yang pernah anda buat, untuk versi-0. Anda diminta untuk mengelola sebuah sistem kecil yang akan merupakan subsistem lebih besar, yaitu untuk menerima perintah (“commandâ€), dan memroses kalender. Sebuah kalender disimpan dalam tabel Setiap baris tabel berisi data (disebut sebuah entri) yang terdiri dari : 1. Id : nomor unik dan urut yang dimulai dengan NOL saat sistem dihidupkan 2. Data teridir dari a. Tanggal : bertype date (untuk sementara direprentasi sebagai integer) b. memo : bertype string (untuk sementara direpresentasi dengan 1 karakter saja) Program MyCal berfungsi untuk menambah data yang sudah disimpan melalui “command line†(seperti sistem DOS). Antarmuka aplikasi sangat sederhana, dimana pengguna akan mengetikkan perintah dan data. Daftar perintah yang dapat diketikkan disajikan pada tabel Perintah sbb Tabel Perintah No Perintah Keterangan 1. Add <data> 2. Clean <n> 3. View <n> Menambahkan sebuah entri dengan memberikan datanya, sistem akan men-generate idnya Menghapus <n> entri yang paling lama. Jika perintah yang pernah diketikkan kurang dari n, maka yang semua perintah dihapus (daftar perintah menjadi kosong) Menampilkan <n> entri yang disimpan. Jika Kalender kosong (belum ada isinya), tidak melakukan apa-apa sebab tak ada yang di-view. Jika n bernilai 0, maka menampilkan semua entri yang ada. 4. Salin <n> 5. Quit Perintah ini tidak mengubah nilai yang tersimpan pada program Menambahkan <n> perintah terakhir ke daftar perintah dengan menyalinnya, dan sesuai urutannya Keluar dari sistem, untuk versi-0 semua data hilang Pada versi-0, perintah belum direpresentasi sebagai string, tapi direpresentasi dari nomornya dan nomor tsb merepresentasi indeks dimana perintah tersebut disimpan dalam tabel perintah. converted by Web2PDFConvert.com
  • 2. Sistem akan mengelola : - TRF, Sebuah Tabel Referensi perintah, yang setiap baris berisi < command:string> dan nomor perintah adalah indeks tabel. TRF[i] isinya adalah perintah ke-i. Contoh : TRF[3] = - S, Sebuah stack untuk mengeksekusi perintah Salin. Prosedur Tulis Stack akan memprint isi stack mulai “top†sampai ke “bottomâ€, dan jika Stacknya kosong akan memprint “Stack kosong†- Kalender, Sebuah Tabel yang berisi data hasil eksekusi daftar perintah yang “terkiniâ€. Data yang baru akan ditambahkan sebagai elemen berikutnya. Tulis Kalender akan memprint isi Kalender dari elemen pertama s.d terakhir. Jika kalender kosong akan memprint “Kalender kosong†- IdSeq : sebuah counter yang akan diinisialisasi Nol dan terus ditambah sampai user menekan Quit. Nomor akan terus bertambah Untuk versi-0, semua perintah hanya diketikkan nomornya. Kerangka program utama adalah Inisilisasi IdSeq dengan Nol Inisialisasi TRF sesuai isi TRF yang diberikan di bawah Inisialissi S, Kalender dengan kosong Tulis 'Welcome' Ulangi Baca nomor perintah Baca parameter sesuai perintah Proses perintah sesuai tabel (1) Sampai user mengetik perintah adalah Quit) Tulis isi Kalender(Jika kalender kosong tulis ‘Kalender kosong’) Tulis isi Stack Tulis ‘Good bye’ Isi Tabel TRF Contoh isi Kalender pada suatu saat Tabel TRF Indeks Perintah TRF Kalender Id Tanggal Data 1 2 3 4 5 6 7 8 9 4 5 6 7 8 9 10 A x 2 q S W S Add Clean View Salin 120 200 300 12 111 134 190 Quit Catatan mengenai tabel TRF: sengaja Quit dikode = 9 sebab pada latihan berikutnya, akan dipakai untuk perintah lain. converted by Web2PDFConvert.com
  • 3. Contoh urutan ketikan user dan isi tabel Kalender dan S(tidak ada hubungan dengan data di atas, urutan lain) User mengetik Keterangan Nilai Counter dan Isi tabel 1 Add data IdSeq=1 120 A Tanggal=120 dan Data=’A’ Add data Kalender {<1,120,’A’> dan S= {} Tanggal=10 ,Data=’C’ Add data Kalender {<1,120,’A’>, <2,10,’C’>} dan S= {} Kalender {<1,120,’A’>, <2,10,’C’>, 3 Tanggal=200, Data=’x’ View semua data 0 2 Clean dua data teratas IdSeq=3 1 10 C 1 200 x 2 4 1 IdSeq=2 IdSeq=3 <3,200,’x’>} dan S= {} Tidak mengubah kondisi tabel. Melakukan printf semua entri yang ada (karena n=0) (lihat contoh I/O) Kalender { <3,200,’x’>} dan S= {} Memasukkan (push) 1 entri terakhir ke S, kemudian mengosongkan ke stack dengan menambahkannya IdSeq=3 Mula-mula: Kalender { <3,200,’x’>}, S= {<3,200,’x’>}} Kemudian: Kalender { <3,200,’x’>,<3,200,’x’> }, S= {} 1 Add, menambah Idseq 200 B 1 Kalender { <3,200,’x’>,<3,200,’x’>, <4.200 Add, menambah Idseq 110 D 1 2 ‘B’> }, S= {} IdSeq=5 Kalender { <3,200,’x’>,<3,200,’x’>, <4.200 Add, menambah Idseq 300 Z 4 IdSeq=4 ‘B’>, <5,110,’D’> }, S= {} IdSeq=6 Kalender { <3,200,’x’>,<3,200,’x’>, <4.200 Salin 2 perintah terakhir ‘B’> , <5,110,’D’>,<6,300,’Z’> }, S= {} Kalender { <3,200,’x’>,<3,200,’x’>, <4.200 ‘B’ , <5,110,’D’>,<6,300,’Z’> , <5,110,’D’>,<6,300,’Z’> }, S= {} converted by Web2PDFConvert.com
  • 4. Contoh Input dan Output Kasus Input-1 1 120 A 1 10 C 1 200 x 3 0 2 2 4 1 1 200 B 1 110 D 1 300 Z 4 2 9 Kasus Output -1 Welcome 1 120 A 2 10 C 3 200 x 3 200 x 3 200 x 4 200 B 5 110 D 6 300 Z 5 110 D 6 300 Z Stack kosong converted by Web2PDFConvert.com
  • 5. Good bye Kasus input-2 30 9 Output-2 Welcome Kalender kosong Stack kosong Good bye Kasus input-3 21 9 Output-3 Welcome Kalender kosong Stack kosong Good bye converted by Web2PDFConvert.com
  • 6. Struktur data yang harus anda definisikan dalam bahasa C /* konstanta yang diperlukan : Nmax adalah kapasitas Stack S dan Kalender*/ /* Ncommand adalah kapasitas tabel penyimpan banyaknya Command */ #define NMAx 100 #define Ncommand 10 typedef struct { int Tanggal; char memo; } data; typedef struct { int Id; data d } entri; typedef struct { int perintah; data d; } cmd; /* TRF adalah array of string*/ /* Kalender adalah Queue of <id,data>. Selain Add dan delete , anda harus mengimplementasikan sebuah prosedur “delete†tanpa menghapus elemen TAIL, hanya menyalin saja */ /* S adalah Stack of cmd */ Setoran : Anda hanya diminta mengerjakan kuis ini untuk soal versi-o, dan menyetor semua file lengkap untuk persoalan ini. ADT yang anda pakai harus lengkap header file dan bodynya. Soal ini hanya akan dinilai outputnya berdasarkan eksekusi semua file yang anda submisi. converted by Web2PDFConvert.com