SOAL TEST SYSTEM ANALYST
SOAL 1
Sist e m Re se rvasi Tiket K e reta Ap i
Overview
Sistem tiket yang berjalan untuk menangani perjalanan Kereta Api cukup kompleks. Ada
faktor keterisian yang harus diperhatikan oleh System Analyst. Kursi yang hanya di booking
untuk setengah perjalanan kereta harus dapat dipesan untuk rute lanjutannya sehingga
keuntungan pengelola dapat maksimal. Untuk dapat memahami sistem yang berlaku,
berikut beberapa rule yang harus dipenuhi oleh sistem.
Contoh Kasus
Kereta Api Sembrani
Rute: Surabaya - Semarang - Cirebon - Jakarta PP
Kelas : Eksekutif
Jumlah Gerbong default: 8 (pada peak session, jumlah gerbong bisa bertambah)
Isi tiap Gerbong: 50 kursi
Total Kapasitas: 400 penumpang (default)
Rule
1. Jika ada 400 orang memesan rute Surabaya - Jakarta, maka kereta penuh,
tidak bisa dilakukan reservasi lagi
2. Jika ada 100 orang memesan rute Surabaya - Jakarta
a. Masih tersisa 300 kursi untuk semua kombinasi rute
3. Jika ada 400 orang memesan rute Surabaya - Semarang
a. Masih tersisa 400 kursi rute: Semarang - Jakarta
b. Masih tersisa 400 kursi rute: Semarang - Cirebon
c. Masih tersisa 400 kursi rute: Cirebon - Jakarta
4. Jika ada 400 orang memesan rute Surabaya - Semarang, dan 200 orang
memesan rute Semarang - Cirebon
a. Masih tersisa 200 kursi rute: Semarang – Jakarta
b. Masih tersisa 200 kursi rute: Semarang –
Cirebon c. Masih tersisa 400 kursi rute: Cirebon -
Jakarta
5. Rule berlaku juga untuk perjalanan pergi (Surabaya - Semarang - Cirebon - Jakarta)
maupun sebaliknya karena berlaku PP
6. Kombinasi lain yang sejalan dengan rule 1,2,3,4
7. Jumlah Gerbong bisa ditambah atau dikurangi untuk tanggal-tanggal tertentu
8. Kereta lain bisa memiliki 2/lebih Kelas dalam satu kereta (Eksekutif & Bisnis
/ Eksekutif & Ekonomi)
Tugas
1. Database
a. Buatlah design database yang bisa menangani contoh kasus dan rule
diatas b. Usulkan tipe database (NoSQL, SQL Relational, Flat File, dll) dan
providernya (Oracle, MySql, PostgreSQL, MariaDB,dll) yang sesuai. Jelaskan
alasan pemilihannya
c. Berikan sample beberapa row isi datanya
2. Alur Sistem
Buatlah alur sistem sehingga memudahkan programmer
untuk mengimplementasikan sistem reservasi tiket kereta api
3. Function, Procedure, Module, Sub Module
Berdasarkan alur sistem pada point 2, buatlah algoritma/alur dari
Function/ Procedure/ Module/ Sub Module yang terkait dengan sistem
Catatan
Tools untuk mengerjakan tidak dibatasi
Metode, teknik, dan notasi yang digunakan tidak dibatasi
Pengerjaan soal bisa juga dengan menggunakan kertas, jika dirasa lebih nyaman
dan mempercepat pengerjaan
SOAL 2
SILSILAH KELUARGA BUDI
Berikut adalah silsilah keluarga budi
Buat rancangan table database yang diperlukan untuk menyimpan
silsilah keluarga tersebut.
Objek orang, memiliki properti:
1. Nama
2. Jenis Kelamin
Warna biru berarti laki-laki, merah perempuan.
Challenge (X bisa diisi dengan nama siapa
saja) :
1. Buat rancangan 1 table saja untuk menyimpan data di atas
2. Input data sesuai dengan silsilah di atas
3. Buat query untuk mendapatkan semua anak dari X
4. Buat query untuk mendapatkan cucu dari X
5. Buat query untuk mendapatkan cucu perempuan dari X
6. Buat query untuk mendapatkan bibi dari X
7. Buat query untuk mendapatkan sepupu laki-laki dari X
8. Buat mockup CRUD untuk silsilah keluarga
9. Tentukan strategi untuk menampilkan visualisasi tree sesuai data yang
telah diinput. Strategi bisa seperti: arsitektur, algoritma , Teknologi, Library,
dsb
10. Rancang spesifikasi API untuk kasus diatas