• Tidak ada hasil yang ditemukan

BAB IV ANALISIS DAN PERANCANGAN

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB IV ANALISIS DAN PERANCANGAN"

Copied!
16
0
0

Teks penuh

(1)

IV-1

Tugas Akhir ini akan menghasilkan sebuah perangkat lunak penjadwalan kereta api jalur tunggal dengan nama Kimspoor Scheduler. Pada bab ini akan dijelaskan mengenai analisis dan perancangan yang diperlukan sebelum melakukan implementasi perangkat lunak Kimspoor Scheduler.

4.1 Analisis

Pada tahap analisis akan dijelaskan mengenai deskripsi umum perangkat lunak, kebutuhan-kebutuhan fungsional dan non-fungsional perangkat lunak, diagram use-case dan diagram kelas tahap analisis.

4.1.1 Deskripsi Umum Perangkat Lunak

Kimspoor Scheduler adalah perangkat lunak yang digunakan untuk melakukan penjadwalan kereta api jalur tunggal dengan menggunakan pendekatan constraint programming. Tujuan dari perangkat lunak ini adalah mendapatkan sebuah jadwal perjalanan kereta api jalur tunggal yang memenuhi aturan-aturan dalam perjalanan kereta api jalur tunggal.

Fitur pertama perangkat lunak ini adalah memasukkan data perjalanan kereta api jalur tunggal ke dalam basis data, yaitu rute perjalanan (petak-petak blok dan stasiun) dan kereta api yang melakukan perjalanan pada rute tersebut. Setelah data dimasukkan, pengguna dapat melihat data tersebut untuk melakukan verifikasi. Perangkat lunak ini tidak dapat melakukan verifikasi data yang dimasukkan. Setelah pengguna memasukkan data yang valid, perangkat lunak ini dapat melakukan penjadwalan perjalanan-perjalanan kereta api yang tersimpan di basis data. Hasil dari proses penjadwalan ini adalah jadwal-jadwal keberangkatan kereta api di tiap stasiun yang dilalui oleh kereta api tersebut. Jadwal ini akan disimpan di dalam basis data. Selanjutnya, pengguna dapat menampilkan jadwal yang tersimpan di dalam basis data sebagai sebuah tabel jadwal perjalanan kereta api maupun diagram ruang-waktu untuk mengetahui apakah terdapat aturan kereta api yang dilanggar dalam penjadwalan. Diagram ruang-waktu tersebut juga dapat

(2)

disimpan sebagai sebuah file gambar. Dengan demikian, jadwal kereta api tersebut dapat dibawa kemana-mana, tidak hanya di komputer lokal yang menyimpan basis data.

4.1.2 Kebutuhan-Kebutuhan Perangkat Lunak

Kebutuhan perangkat lunak Kimspoor Scheduler ini dibagi menjadi dua, yaitu kebutuhan fungsional dan kebutuhan non-fungsional.

4.1.2.1 Kebutuhan Fungsional Perangkat Lunak

Berdasarkan deskripsi umum perangkat lunak di atas, kebutuhan fungsional perangkat lunak ini disajikan dalam Tabel IV-1 berikut.

Tabel IV-1 Kebutuhan Fungsional Perangkat Lunak

No Kebutuhan fungsional Deskripsi

1 Memasukkan data

perjalanan kereta api

Perangkat lunak ini dapat menerima data perjalanan kereta api yang diperlukan dalam penjadwalan kereta api. Hal ini meliputi rute perjalanan, stasiun, petak blok, dan kereta api. Data masukan pengguna ini kemudian disimpan ke dalam basis data

2 Melihat data masukan Data perjalanan kereta api yang tersimpan di basis data dapat dilihat kembali oleh pengguna.

3 Mengubah atau menghapus data masukan

Data masukan yang salah atau tidak diperlukan kembali dalam penjadwalan dapat diubah nilainya atau dihapus dari basis data. 4 Melakukan penjadwalan Perangkat lunak melakukan penjadwalan

dengan cara mengambil data masukan perjalanan dari basis data kemudian menerapkan algoritma-algoritma pencarian jadwal kereta api yang tidak melanggar aturan-aturan perjalanan kereta api.

(3)

No Kebutuhan fungsional Deskripsi

5 Menampilkan jadwal Jadwal yang sudah disimpan di dalam basis data dapat ditampilkan dalam bentuk tabel keberangkatan perjalanan kereta api maupun diagram ruang-waktu.

6 Menyimpan diagram ruang-waktu sebagai file gambar

Diagram ruang-waktu yang merepresentasikan jadwal kereta api selain

dapat ditampilkan oleh perangkat lunak juga dapat disimpan sebagai sebuah file gambar.

4.1.2.2 Kebutuhan Non-Fungsional Perangkat Lunak

Selain kebutuhan fungsional, perangkat lunak ini juga harus memenuhi kebutuhan-kebutuhan non-fungsional. Kebutuhan non-fungsional yang pertama adalah kinerja penjadwalan yang baik, yaitu waktu pencarian jadwal yang memenuhi semua aturan-aturan perjalanan kereta api tidak terlalu lama.

Kebutuhan non-fungsional berikutnya adalah antarmuka perangkat lunak yang tidak membingungkan. Hal ini diutamakan pada masalah penampilan data masukan dan diagram ruang-waktu yang dihasilkan.

Kebutuhan yang terakhir adalah penjagaan integritas basis data. Data perjalanan kereta api yang dimasukkan dengan menggunakan perangkat lunak ini harus selalu benar. Sebagai contoh jika data stasiun dihapus, maka data petak jalan yang menggunakan stasiun tersebut juga harus dihapus. Demikian juga dengan data rute dan perjalanan yang menggunakan petak jalan tersebut. Selain penghapusan data, integritas basis data juga harus tetap terjaga walaupun ada data yang diubah (tidak dihapus).

(4)

4.1.3 Diagram Use-Case

Berdasarkan kebutuhan fungsional di atas, diagram use-case dari perangkat lunak ini disajikan dalam Gambar IV-1 berikut.

Gambar IV-1 Diagram Use-Case Perangkat Lunak Kimspoor Scheduler

Aktor atau pengguna dalam diagram use-case di atas adalah pegawai di sebuah perusahaan kereta api yang memiliki wewenang untuk membuat jadwal kereta api. Pengguna memiliki data perjalanan kereta api berupa rute jaringan kereta api, stasiun-stasiun, petak-petak jalan pada rute tersebut dan kereta api yang akan melakukan perjalanan dengan menggunakan rute tersebut. Perangkat lunak ini dapat digunakan untuk memasukkan data perjalanan tersebut ke dalam basis data. Setelah data perjalanan dimasukkan, penggunaa dapat menggunakan perangkat lunak ini untuk melakukan penjadwalan sesuai aturan-aturan perjalanan yang ada. Perangkat lunak ini akan menyimpan hasil penjadwalan ke dalam basis data. Pengguna kemudian dapat menampilkan jadwal yang tersimpan di dalam basis data dalam representasi diagram ruang-waktu.

(5)

4.1.4 Analisis Kelas-Kelas

4.1.4.1 Identifikasi Kelas-Kelas

Berdasarkan analisis kebutuhan perangkat lunak dan diagram use-case yang telah dibuat, kelas-kelas yang akan digunakan dalam perancangan dan implementasi perangkat lunak disajikan dalam Tabel IV-2 berikut.

Tabel IV-2 Kelas-Kelas Tahap Analisis

No Nama Kelas Deskripsi

1 AntarmukaUtama Kelas yang menangani antarmuka utama perangkat lunak dan mengatur antarmuka-antarmuka masukan dan keluaran.

2 AntarmukaMasukan Kelas yang menangani masukan dari pengguna.

3 AntarmukaKeluaran Kelas yang menangani penampilan hasil penjadwalan kepada pengguna.

4 KeretaApi Kelas kereta api

5 Rute Kelas rute perjalanan kereta api. 6 PetakJalan Kelas petak jalan

7 PetakBlok Kelas petak blok

8 Stasiun Kelas stasiun

9 Perjalanan Kelas yang menangani perjalanan-perjalanan yang akan dijadwalkan.

10 Operasi Kelas yang menangani operasi-operasi dalam satu perjalanan kereta api.

11 Jadwal Kelas untuk menyimpan hasil penjadwalan yang dilakukan. Kelas ini hanya menangani jadwal satu perjalanan saja.

12 Penjadwal Kelas utama yang melakukan penjadwalan 13 Masukan Kelas yang menangani data perjalanan yang

(6)

4.1.4.2 Diagram Kelas Tahap Analisis

Diagram kelas analisis yang menyatakan hubungan-hubungan antara kelas-kelas yang telah diidentifikasi disajikan pada Gambar IV-2 berikut.

Gambar IV-2 Diagram Kelas Analisis Perangkat Lunak Kimspoor Scheduler

4.2 Perancangan

Pada tahap ini dilakukan perancangan antarmuka dan perancangan kelas-kelas dengan lebih rinci. Perancangan kelas yang dilakukan meliputi identifikasi atribut-atribut dan operasi-operasi pada kelas, pemaketan kelas, hubungan kelas-kelas di dalam paket-paket tersebut dan juga hubungan kelas-kelas-kelas-kelas antarpaket.

4.2.1 Perancangan Antarmuka

Antarmuka perangkat lunak Kimspoor Scheduler ini sangat sederhana. Setelah perangkat lunak dijalankan, pengguna akan masuk ke antarmuka utama. Gambar IV-3 berikut menyajikan gambar rancangan antarmuka utama perangkat lunak ini .

(7)

Gambar IV-3 Rancangan Antarmuka Utama Perangkat Lunak

Tujuh buah toolbar di bagian atas antarmuka utama berfungsi sebagai wizard untuk memandu pengguna dalam menggunakan perangkat lunak langkah demi langkah secara bertahap. Toolbar yang pertama digunakan untuk konfigurasi koneksi basis data, toolbar kedua sampai dengan kelima digunakan untuk membuka panel-panel masukan dan penampilan data masukan, toolbar keenam untuk melakukan fungsi penjadwalan dan yang terakhir untuk penampilan keluaran perangkat lunak yang berupa diagram ruang-waktu. Empat buah panel yang dibuka dengan empat toolbar tersebut adalah panel data masukan stasiun, petak jalan, rute dan perjalanan.

Hal pertama yang harus dilakukan sebelum melakukan proses penjadwalan kereta api adalah melakukan koneksi basis data dengan server basis data. Hal ini diperlukan untuk pengambilan dan penyimpanan data perjalanan yang akan dijadwalkan. Antarmuka untuk masukan konfigurasi dan koneksi basis data ini sangat sederhana. Antarmuka tersebut hanya berisi alamat server, port server,

(8)

nama basis data, nama pengguna dan password pengguna. Gambar IV-4 menyajikan rancangan antarmuka ini.

Gambar IV-4 Rancangan Antarmuka Koneksi Basis Data

Setelah perangkat lunak terhubung dengan server basis data, pengguna dapat memasukkan data atau melihat data lain yang sudah ada. Antarmuka untuk melakukan hal ini adalah empat buah panel data masukan dan penampilan data. Setiap panel memiliki bentuk yang serupa, yaitu sebuah tabel di sebelah kiri dan sebuah upapanel di sebelah kanan untuk menerima data masukan. Perancangan panel tersebut bertujuan untuk memudahkan pengguna dalam memasukkan data karena data perjalanan kereta api yang dimiliki pengguna pada umumnya berupa tabel. Selain itu, pengguna juga dapat melihat data lain yang sudah ada sebelum memasukkan data. Rancangan antarmuka untuk keempat panel tersebut dapat dilihat pada Gambar IV-5.

(9)

Setiap kali pengguna membuka panel tersebut, sebuah tab akan terbuka di bagian bawah toolbar. Dengan demikian, panel-panel masukan lain yang telah dibuka sebelumnya tidak akan tertutup. Gambar IV-6 menampilkan anarmuka utama dengan tiga buah panel yang sedang terbuka.

Gambar IV-6 Rancangan Antarmuka Utama dengan Tiga Panel Terbuka

Yang terakhir adalah antarmuka untuk penampilan grafik keluaran yang berupa diagram ruang-waktu. Proses penjadwalan dapat dilakukan pada perjalanan-perjalanan yang menggunakan rute-rute berbeda, sedangkan sebuah diagram ruang-waktu hanya bisa digunakan untuk menampilkan satu rute saja. Oleh sebab itu, sebelum perangkat lunak ini menampilkan diagram ruang waktu, pengguna harus memilih rute terlebih dahulu. Rancangan antarmuka untuk pemilihan rute ini dapat dilihat pada Gambar IV-7.

(10)

Setelah rute perjalanan dipilih, perangkat lunak akan menampilkan diagram ruang-waktu dari hasil penjadwalan. Gambar IV-8 menyajikan rancangan antarmuka ini dengan sebuah contoh diagram ruang-waktu di dalamnya.

Gambar IV-8 Rancangan Antarmuka Penampilan Diagram Ruang-Waktu

4.2.2 Perancangan Kelas-Kelas

4.2.2.1 Identifikasi Kelas-Kelas Tahap Perancangan

Berdasarkan analisis yang telah dilakukan, diagram use-case, diagram kelas analisis yang telah dibuat dan juga perancangan antarmuka, kelas-kelas pada perangkat lunak ini akan dibagi dalam tiga buat paket, yaitu paket antarmuka, paket basis data, dan paket penjadwalan. Paket antarmuka berisi kelas-kelas boundary yang bertugas menerima masukan dari pengguna dan menampilkan hasil keluaran. Paket basis data berisi kelas-kelas control yang bertugas untuk menyimpan atau mengambil data dari basis data. Paket penjadwalan berisi kelas-kelascontrol yang melakukan penjadwalan setelah pengguna memasukkan semua data perjalanan. Tabel IV-3 sampai Tabel IV-5 berisi kelas-kelas dari tiap paket tersebut beserta tanggung jawabnya.

(11)

Tabel IV-3 Kelas-Kelas pada Paket Antarmuka

No Nama Kelas Tanggung Jawab

1 AntarmukaUtama Sebagai antarmuka utama yang mengontrol antarmuka-antarmuka lainnya.

2 PanelStasiun Menerima masukan data stasiun dari pengguna dan menampilkan data tersebut dalam bentuk tabel.

3 PanelPetakJalan Menerima masukan data petak jalan dari pengguna dan menampilkan data tersebut dalam bentuk tabel.

4 PanelRute Menerima masukan data rute dari pengguna dan menampilkan data tersebut dalam bentuk tabel.

5 PanelPerjalanan Menerima masukan data perjalanan dari pengguna dan menampilkan data tersebut dalam bentuk tabel.

6 AntarmukaKoneksiBD Menerima masukan konfigurasi server dari pengguna.

7 AntarmukaPemilihanRute Menerima masukan nama rute yang harus ditampilkan dalam diagram ruang-waktu. 8 AntarmukaDiagramRW Menampilkan diagram ruang-waktu.

9 PenggambarDiagramRW Melakukan penggambaran diagram ruang waktu dari jadwal yang telah ditemukan pada kelas Penjadwalan.

10 PenyimpanFileDiagramRW Menyimpan diagram RW sebagai sebuah file gambar.

Tabel IV-4 Kelas-Kelas pada Paket Basis Data

No Nama Kelas Tanggung Jawab

1 DBManager Mengambil dan menyimpan data perjalanan kereta api dari dan ke basis data.

(12)

No Nama Kelas Tanggung Jawab

2 ObjectGenerator Mengambil data dari basis data dan membentuk objek-objek dari data tersebut. Hal ini sangat diperlukan pada proses penjadwalan dan penampilan grafik.

Tabel IV-5 Kelas-Kelas pada Paket Penjadwalan

No Nama Kelas Tanggung Jawab

1 Stasiun Menampung data stasiun yang diperlukan dalam penjadwalan.

2 StasiunPemberhentian Menampung data stasiun pemberhentian yang diperlukan dalam penjadwalan.

3 PetakJalan Menampung data petak jalan yang diperlukan dalam penjadwalan.

4 Perjalanan Menampung data perjalanan yang diperlukan dalam penjadwalan, operasi-operasi yang membentuk perjalanan tersebut dan juga hasil penjadwalan.

5 Operasi Membagi sebuah perjalanan menjadi beberapa operasi, dimana setiap operasi mengandung objek dari kelas PetakJalan.

6 Penjadwalan Melakukan penjadwalan terhadap semua data yang telah ditampung dalam objek-objek dari kelas Perjalanan.

7 Konflik Menyimpan konflik yang terjadi antara dua buah operasi dan cara penyelesaiannya (operasi mana yang harus ditunda dan berapa lama penundaannya).

8 GrafDisjungtif Menyimpan representasi jadwal sebagai graf disjungtif. Hal ini diperlukan untuk pencarian jadwal berikutnya dengan lebih efisien.

(13)

No Nama Kelas Tanggung Jawab

9 Simpul Menyimpan simpul-simpul dalam graf

disjungtif.

10 SisiKritis Menyimpan sisi-sisi kritis dalam graf disjungtif. 11 AntrianSimpul Sebagai tempat menampung simpul-simpul

ketika melakukan penelusuran graf disjungtif secaraBFS.

12 AnggotaAntrianSimpul Menyimpan simpul-simpul anggota dari kelas Antrian Simpul.

4.2.2.2 Diagram Kelas Tahap Perancangan

Kelas-kelas yang telah diidentifikasi pada upabab sebelumnya memerlukan atribut-atribut, operasi-operasi dan hubungan dengan kelas-kelas yang lain agar dapat melaksanakan tanggung jawabnya masing-masing di dalam perangkat lunak ini. Semua hal tersebut dapat terlihat dengan menggunakan diagram kelas perancangan. Karena kelas yang ada cukup banyak, maka diagram kelas tersebut akan dipecah menjadi beberapa bagian. Diagram-diagram kelas tersebut yang menunjukkan hubungan kelas-kelas dalam satu paket disajikan pada Gambar IV-9 sampai dengan Gambar IV-11. Sedangkan diagram kelas yang menunjukkan hubungan antarpaket disajikan pada Gambar IV-12. Pada Gambar IV-12, hubungan kelas-kelas dalam satu paket tidak ditunjukkan seluruhnya karena sudah ada pada tiga gambar sebelumnya.

(14)

Gambar IV-9 Diagram Kelas pada Paket Antarmuka

(15)
(16)

Gambar

Tabel IV-1 Kebutuhan Fungsional Perangkat Lunak
Diagram ruang-waktu yang  merepresentasikan jadwal kereta api selain
Gambar IV-1 Diagram Use-Case Perangkat Lunak Kimspoor Scheduler
Tabel IV-2 Kelas-Kelas Tahap Analisis
+7

Referensi

Dokumen terkait

Akurasi R stabil di sekitar 50%, akurasi R terbaik 51,07% pada saat jumlah partisi = 5, akurasi 3G terbaik dari teknik tanpa partisi adalah 50,8% dan akurasi 3G terbaik dari

Hal ini pulalah yang melandasi sehingga setiap putusan harus berkepala “Demi Keadilan Berdasarkan Ketuhanan yang Maha Esa” sebagaimana ditegaskan dalam Pasal 197 ayat (1)

Shaft seals merupakan salah satu bagian turbin terletak antara poros dengan casing yang berfungsi untuk mencegah uap air keluar dari dalam turbin melewati sela-sela antara poros

Selain proses morfologi infleksi dengan pengimbuhan afiks infleksi ter- dan ke-/-an di atas, pada adjektiva afiksasi BI terdapat pula proses morfologi infleksi yang berupa

secara biologis laki-laki, berumur 15 tahun atau lebih dan telah tinggal di kota survei paling tidak selama satu bulan, serta telah berhubungan seks dengan seorang

Melaksanakan penyesuaian program dan teknologi informasi pengelolaan keuangan daerah melalui Sistem Informasi Pengelolaan Keuangan Daerah (SIPKD) dari basis kas

Pada Pengadilan Tinggi, hakim pengawasanya di sebut dengan Hakim Pengawas Daerah (HAWASDA). Jadi laporan pengawasan itu akan berjenjang, dari Pengadilan Negeri Surabaya

Sumber Djantin Sambas selama ini mempergunakan metode alokasi biaya tradisional, yang terlihat pada cara pembebanan biaya bahan baku dan biaya tenaga kerja yang