latihan_4_reguler_jumat_dan_ekstensi_rev_1.2

Download Latihan_4_Reguler_Jumat_dan_Ekstensi_rev_1.2

If you can't read please download the document

Upload: mahiskia-shaumi

Post on 02-Oct-2015

3 views

Category:

Documents


0 download

DESCRIPTION

Mempelajari tipe kepribadian dapat membantu kita memahami orang lain, terutama orang yang berhubungan dan bekerjasama dengan kita. Memahami orang-orang disekitar dan yang bekerjasama dengan kita akan membantu melancarkan hubungan dan kerjasama tersebut.

TRANSCRIPT

  • Latihan 4 MangoDB

    Struktur Data & Algoritma IKI10400

    Semester Genap 2014/2015

    Fakultas Ilmu Komputer Universitas Indonesia

    Batas waktu pengumpulan kode sumber: Reguler Jumat: Jumat, 13 Maret 2015 pukul 17.00 Waktu Scele

    Ekstensi: Sabtu, 14 Maret 2015 pukul 12.00 Waktu Scele

    Kode sumber yang dinilai hanya yang dikumpulkan melalui Auto Grader Scele. Kode sumber yang dikumpulkan melalui

    mekanisme selain itu akan diabaikan dan dianggap tidak mengumpulkan.

    Peringatan: jangan mengumpulkan pekerjaan beberapa menit menjelang batas waktu pengumpulan karena ada kemungkinan pengumpulan gagal dilakukan atau koneksi internet terputus!

    Jika tidak dapat mengumpulkan tugas sebelum batas waktu karena suatu atau beberapa hal khusus, mahasiswa yang

    bersangkutan harus melakukan langkah-langkah dalam SOP Perpanjangan Batas Waktu Pengumpulan Pekerjaan.

  • Problem setter: YCN| Latihan 4 SDA Genap 2014/2015 2

    Latihan 4

    MangoDB

    Nama berkas kode sumber : SDA14154L.java

    Batas waktu eksekusi program : 2.5 detik / kasus uji

    Batas memori program : 16 MiB / kasus uji

    Pada lab ini mahasiswa diharapkan dapat mengidentifikasi penggunaan ADT

    menggunakan Java Collections yang cocok untuk permasalahan ini.

    Database adalah komponen yang cukup penting dari sebuah aplikasi. Akhir-akhir ini

    muncul DBMS (Database Management System) yang cukup populer. DBMS ini populer

    karena cocok digunakan untuk Big Data dan Real-Time Web.

    Seorang investor kaya raya membayar Anda untuk membuat versi sederhana dari DBMS

    ini. DBMS ini akan diberi nama MangoDB. MangoDB hanya memiliki 5 perintah, yaitu

    INSERT, DELETE, DELETE_ALL, IS_EXIST, dan RETRIEVE_ALL.

    INSERT akan menambahkan data baru ke database jika data tersebut belum ada di

    database. DELETE akan menghapus data yang ada di database jika data tersebut ada

    sedangkan DELETE_ALL akan menghapus semua data yang ada di database. IS_EXIST akan

    mengecek kebenaran apakan suatu data sudah ada di database. Sedangkan RETRIEVE_ALL

    akan menampilkan seluruh data yang ada di database urut berdasarkan waktu

    masuknya data.

    Format Masukan dan Keluaran

    Baris pertama merupakan sebuah bilangan bulat n, 1 < n

  • Problem setter: YCN| Latihan 4 SDA Genap 2014/2015 3

    Ketika data tidak ada di database

    IS NOT EXIST

    RETRIEVE_ALL RETRIEVE_ALL { , , , }

    NB:

    merupakan sebuah string yang disusun oleh karakter-karakter

    alphanumeric. bisa terdiri dari 1 atau lebih kata. tersebut akan

    diapit oleh tanda petik . Contoh yang mungkin menjadi input:

    o Abc

    o cBa12

    o 11 12

    o seven 12

    MangoDB menerapkan Case Insensitive, jadi perintah insert dengan INSERT akan

    bermakna sama. Lebih lanjut aBc dengan abC juga akan bernilai sama.

    Karena Case Insensitive maka ketika mencetak untuk setiap perintah,

    yang dicetak adalah yang menjadi input bukan yang ada di

    database. Misal di database terdapat data a, maka ketika dijalankan INSERT A

    output yang diharapkan adalah A IS EXIST, bukan a IS EXIST.

    Untuk setiap perintah yang tidak sesuai format maka MangoDB akan mencetak

    output SYNTAX ERROR

  • Problem setter: YCN| Latihan 4 SDA Genap 2014/2015 4

    Contoh Masukan dan keluaran 1

    No Masukan Keluaran Isi Database

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    13

    Insert yusuf

    INSERT "Yusuf"

    INSERT "yani"

    INSERt "ye ye"

    INSERT "yuSuf"

    delete "yusuf"

    delete "yUsuF"

    is_exist "yusuf"

    is_exist "yaNi"

    insert "Yusuf"

    retrieve_all

    delete_all

    retrieve_all

    SYNTAX ERROR

    Yusuf INSERTED

    yani INSERTED

    ye ye INSERTED

    yuSuf IS EXIST

    yusuf DELETED

    yUsuF IS NOT EXIST

    yusuf IS NOT EXIST

    yaNi IS EXIST

    Yusuf INSERTED

    {yani,ye ye,Yusuf}

    DELETED ALL

    {}

    {}

    {Yusuf}

    {Yusuf,yani}

    {Yusuf,yani,ye ye}

    {Yusuf,yani,ye ye}

    {yani,ye ye}

    {yani,ye ye}

    {yani,ye ye}

    {yani,ye ye}

    {yani,ye ye,Yusuf}

    {yani,ye ye,Yusuf}

    {}

    {}

    Contoh Masukan dan Keluaran 2

    Masukan Keluaran Isi Database

    12

    INSERT

    INSERT ye ye

    INSERt "ye ye"!

    INSERT a"yu yu"

    delete "yusuf

    delete ""

    is_exist yusuf ye ye

    is_exist

    insert "Yusuf"

    retrieve_all abc

    delete_all "

    haha

    SYNTAX ERROR

    SYNTAX ERROR

    SYNTAX ERROR

    SYNTAX ERROR

    SYNTAX ERROR

    SYNTAX ERROR

    SYNTAX ERROR

    SYNTAX ERROR

    Yusuf INSERTED

    SYNTAX ERROR

    SYNTAX ERROR

    SYNTAX ERROR

    {}

    {}

    {}

    {}

    {}

    {}

    {}

    {}

    {Yusuf}

    {Yusuf}

    {Yusuf}

    {Yusuf}