• Tidak ada hasil yang ditemukan

BAB III ANALISIS DAN PERANCANGAN

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB III ANALISIS DAN PERANCANGAN"

Copied!
9
0
0

Teks penuh

(1)

III-1

ANALISIS DAN PERANCANGAN

Pada bab ini akan dibahas mengenai analisis secara umum, analisis kebutuhan perangkat lunak dan penjelasan mengenai perancangan perangkat lunak.

3.1 Analisis Masalah Umum

Perangkat lunak yang akan dibangun akan menerima input dari user berupa beberapa baris program, dan akan menghasilkan output berupa sebuah report. Seluruh proses yang terjadi dalam simulasi tidak diperlihatkan secara langsung, tetapi dimasukkan ke dalam report yang dibuat melalui blok yang tugasnya melihat performa sistem. Report yang dihasilkan akan berupa suatu file teks.

GPSS direpresentasikan dalam blok operasi dan control statement yang selalu memiliki field sebagai atribut. Hal ini mirip dengan fungsi dan prosedur pada bahasa - bahasa pemrograman yang ada sekarang. Jadi operasi blok dan control statement pada GPSS dapat direpresentasikan sebagai fungsi atau prosedur.

Seperti terlihat pada bab II, GPSS terdiri dari blok operasi yang saling terkait satu sama lain dalam sekumpulan baris program. Untuk itu dibutuhkan suatu pembaca yang dapat memahami perintah-perintah yang ada didalamnya. Dengan demikian program berjalan sesuai dengan masukan dari user.

Karena proses dalam simulasi tidak ditampilkan, maka secara umum cara kerja perangkat lunak dapat dijabarkan sebagai berikut :

1. Dibuat sebuah list yang berisi waktu pembuatan transaksi (waktu transaksi di-generate). List terurut membesar sesuai waktu pembuatan.

2. Dari list yang dibuat di atas, diambil satu dengan waktu pembuatan terkecil dan diproses sesuai dengan perintah yang ada. Proses ini berlangsung terus hingga transaksi dihancurkan. Jika waktu kedatangan transaksi lebih kecil daripada waktu proses transaksi sebelumnya pada sebuah blok, maka menunggu. Jika masuk dalam blok split, maka transaksi dijalankan satu per satu hingga terminasi atau masuk dalam blok gather atau assemble. Jika masuk dalam blok gather atau assemble, maka

(2)

transaksi menunggu hingga kondisi dipenuhi (menjalankan transaksi lain yang di-split hingga masuk blok itu juga).

3. Mengulangi langkah 1 dan 2 sebanyak transaksi yang dibuat..

Karena tidak diketahui variabel apa saja yang dibutuhkan dalam satu simulasi, maka seluruh variabel sudah dideklarasikan terlebih dahulu. Jumlah variabel yang disediakan adalah kapasitas maksimum untuk suatu entitas yang dapat ditampung oleh perangkat lunak.

Alur dari transaksi dalam blok juga dimasukan ke dalam list dengan tujuan memudahkan proses. Dengan demikian pembacaan yang dilakukan cukup satu kali dan hasilnya dimasukan ke dalam suatu list yang akan merepresentasikan baris-baris program yang dimasukan user. Di dalam list ikut disertakan alamat atau lokasi yang dapat diacu beberapa operasi. Control statement tidak dimasukan ke dalam list ini, melainkan list terpisah.

3.2 Spesifikasi Umum Kebutuhan Perangkat Lunak

Perangkat lunak yang diperlukan adalah perangkat lunak yang mampu membaca baris program dari user, memrosesnya dengan benar dan menghasilkan report. Report merupakan satu-satunya output yang dihasilkan perangkat lunak, jadi report mengandung seluruh data yang diinginkan user dan juga satu-satunya alat penilaian hasil kerja sistem sepenuhnya.

III.2.1 Fungsi Perangkat Lunak

Fungsionalitas yang harus dimiliki perangkat lunak adalah sebagai berikut : 1. Pembacaan dan pengelolaan baris-baris program

2. Proses yang terjadi di dalam simulasi 3. Report yang dihasilkan.

III.2.2 Tujuan Perangkat Lunak

Perangkat lunak yang akan dibuat memiliki tujuan sebagai berikut : 1. Menilai efektifitas GPSS

(3)

III.2.3 Masukan dan Keluaran Perangkat Lunak

Masukan untuk perangkat lunak adalah sebuah file teks yang berisi baris-baris program yang sesuai dengan ketentuan. Keluaran dari perangkat lunak adalah sebuah report yang berisi waktu simulasi, jumlah transaksi yang masuk ke setiap blok, kondisi dari setiap blok setelah simulasi selesai, isi dari entitas yang dipakai, dan beberapa keterangan yang berhubungan dengan entitas tersebut.

III.2.4 Batasan Perangkat Lunak

Batasan yang diberikan dalam perangkat lunak :

1. Perangkat lunak tidak sepenuhnya memberikan pesan kesalahan setiap kesalahan terjadi, dengan kata lain hanya menerima masukan dan memberikan keluaran berupa file teks

2. Setiap baris merupakan baris operasi tersendiri

3. Entitas group tidak diimplementasikan, sehingga blok yang berhubungan dengan group (JOIN, REMOVE, EXAMINE, SCAN, ALTER) juga tidak diimplementasikan 4. Blok lain yang tidak diimplementasikan adalah : SPLIT, MATCH, GATHER dan

ASSAMBLE

5. Control Statement yang tidak diimpementasikan adalah : SIMULATE, JOB, dan END

6. Blok PRIORITY diimpelementasikan, namun tidak berpengaruh terhadap hasil simulasi karena transaksi dijalankan satu per satu sehingga tidak mungkin ada dua transaksi dalam satu queue.

III.2.5 Model Fungsional Perangkat Lunak

Model fungsional perangkat lunak memberikan gambaran mengenai proses-proses yang terjadi di dalam perangkat lunak serta aliran data antar proses atau dengan entitas luar di dalam perangkat lunak. Model fungsional tidak menjelaskan implementasi dar proses-proses tersebut. Aliran data yang diberikan menjelaskan mengenai masukan dan keluaran dari setiap proses yang ada. Dengan demikian, hubungan antar proses terlihat jelas. Model fungsional yang digunakan adalah Data Flow Diagram (DFD).

III.2.5.1 Diagram Konteks / DFD Level 0

report instruksi User 1 Perangkat Lunak + Gambar III-1 Diagram Konteks

(4)

Pada diagram konteks ini terlihat interaksi antara user dan perangkat lunak. Untuk dapat menggunakan perangkat lunak, user harus memasukan baris program yang dibuatnya atau susunan instruksi untuk perangkat lunak. Perangkat lunak akan menghasilkan sebuah report mengenai hasil penjalanan instruksi yang dimasukan oleh user sebelumnya. Instruksi yang dimasukan harus sesuai dengan kriteria input perangkat lunak.

III.2.5.2 DFD Level 1

control statement

blok nama blok

hasil program hasil proses blok

Hasil pembacaan report instruksi User User 1 Pembacaan baris program 2 Pembagian blok dan control statement 3 Pembuatan report 4 Pemrosesan blok 5 Pemrosesan control statement 6 Pengeksekusian program

Gambar III-2 DFD Level 1

Proses yang terjadi di dalam perangkat lunak terbagi menjadi enam buah subproses, yaitu : 1. Pembacaan baris program

Kegiatan ini untuk membaca input dari user dan menterjemahkannya ke dalam suatu bentuk yang dapat dimengerti oleh sistem. Di sini juga setiap baris operasi dipisah-pisahkan sesuai dengan urutannya.

(5)

2. Pembagian blok dan control statement

Kegiatan ini bertujuan untuk memisahkan operasi blok dan control statement sehingga sistem dapat berjalan dengan benar.

3. Pemrosesan blok

Kegiatan ini memroses blok operasi secara satu per satu dan menghasilkan output dari blok itu.

4. Pemrosesan control statement

Kegiatan ini memroses control statement yang ada dan memberikan nilai dari control statement tersebut.

5. Pengeksekusian program

Kegiatan ini menjalankan simulasi sepenuhnya berdasarkan hasil pemrosesan blok dan control statement. Urutan simulasi berdasarkan pada urutan blok. Setiap blok yang akan diproses dikirim ke pemrosesan blok dan hasilnya dikembalikan. Kegiatan ini menghasilkan hasil dari simulasi yang akan dibuat menjadi suatu report pada proses selanjutnya.

6. Pembuatan report

Kegiatan ini mengubah hasil yang dihasilkan pada proses simulasi menjadi suatu report yang dapat dimengerti oleh user

Tabel entitas dan data besarta tabel proses DFD level 1 dapat dilihat pada dua tabel berikut : Tabel III-1 Data dan Entitas pada DFD Level 1

No. Nama Data / Entitas Keterangan

1. User Entitas eksternal yang menggunakan perangkat lunak 2. instruksi File teks yang menjadi masukan bagi perangkat

lunak. File teks ini harus berupa instruksi – instruksi dalam bahasa GPSS dan mengikuti aturan yang berlaku

3. hasil pembacaan Data ini berisikan hasil pembacaan terhadap masukan dari user yang diubah ke dalam bentuk yang dapat dijalankan dalam simulasi

4. control statement Data ini berisikan hasil pembacaan yang berupa control statement, yang dipisahkan dari blok

5. blok Data ini berisikan hasil pembaccan yang berupa blok, yang dipisahkan dari control statement

6. nama blok Data ini berisi nama blok dan parameter – parameter yang mempengaruhi proses pemrosesan blok

7. hasil proses blok Data ini membawa hasil proses blok yang merupakan nilai yang mempengaruhi simulasi

8. nilai dari control statement Data ini berisikan nilai dari control statement yang merupakan pengontrol dari proses simulasi

9. hasil program Data ini berisikan hasil dari proses simulasi secara keseluruhan yang masih berupa keluaran mentah dari perangkat lunak

(6)

No. Nama Data / Entitas Keterangan

10. report Data ini berisikan hasil proses simulasi yang telah diubah ke dalam file teks yang dapat dilihat dan dimengerti oleh user

Tabel III-2 Proses pada DFD Level 1

No. Proses Data Masukan Data Keluaran Keterangan 1. Pembacaan

baris program

instruksi hasil pembacaan

Membaca masukan input dari user dan mengubahnya ke dalam bentuk yang dapat dijalankan atau dimengerti perangkat lunak secara langsung 2. Pembagian blok dan control statement hasil pembacaan blok, control statement

Memisahkan antara blok dan control statement yang kemudian akan diproses secara terpisah 3. Pembuatan

report

hasil program report Mengeluarkan hasil eksekusi program atau simulasi kepada user, dengan kata lain mengubah hasil eksekusi menjadi bentuk teks yang dapat dimengerti user

4. Pemrosesan blok

nama blok hasil proses blok

Memproses blok sesuai dengan nama dan fungsinya masing – masing dan mengembalikan hasil dari proses itu ke dalam Pengeksekusian program 5. Pemrosesan control statement control statement nilai dari control statement

Memproses control statement sesuai dengan nama dan fungsi dari masing –masing control statement dan mengembalikan nilai yang dihasilkan ke dalam proses Pengeksekusian program 6. Pengeksekusian program blok, hasil proses blok, nilai dari control statement nama blok, hasil program

Mengatur penjalanan dari simulasi dengan memproses blok dan mengambil nilai dari control statement untuk menjalankan simulasi secara bertahap (blok per blok) sampai selesai dan mengeluarkan hasil

3.3 Perancangan Perangkat Lunak

III.3.1 Perancangan Arsitektur

Arsitektur sistem memiliki tiga buah proses utama, yaitu pembacaan instruksi user, penjalanan dari instruksi tersebut dan penghasilan report dari penjalanan tersebut.

1. Pembacaan instruksi user

Sistem akan membaca instruksi menggunakan suatu mesin kata dan kemudian memasukkan hasil pembacaan ke dalam suatu tempat yang telah tersedia. Tempat

(7)

penyimpanan ini merupakan representasi dari instruksi-instruksi yang ada dalam bentuk yang lebih dipahami oleh sistem. Secara garis besar, metode pembacaan instruksi adalah sebagai berikut :

a) Membaca instruksi user dan memasukannya ke dalam list serta membuang komentar yang ada

b) Membedakan blok dan control statement 2. Penjalanan instruksi

Sistem akan menjalankan tahap simulasi dengan menggunakan blok dan control statement yang didapat dari proses pembacaan. Proses yang terjadi sangat bergantung pada instruksi masukan user.

3. Penghasilan report

Setelah proses simulasi selesai, maka hasil dari simulasi tersebut akan dibuat berupa report yang berisi waktu simulasi, perhitungan transaksi dalam blok, dan isi entitas.

Pembacaan Instruksi User

Penjalanan Instruksi Penghasilan Report

Masukan

Blok dan Control Statement

Hasil Simulasi Report

User

Gambar III-3 Arsitektur Sistem III.3.2 Perancangan Modul Perangkat Lunak

Perangkat lunak disusun atas modul-modul yang telah dijelaskan dalam DFD yang telah diberikan sebelumnya. Setiap modul akan terdiri dari beberapa submodul yang terdiri dari fungsi atau prosedur.

Perangkat lunak terdiri dari enam modul utama, yaitu modul pembaca, modul pembagi, modul pemroses blok, modul pemroses control statement, modul penjalanan instruksi, dan modul pembuat report. Keenam modul ini mewakili keenam proses pada DFD level 1.

(8)

III.3.2.1 Modul Pembaca

Modul ini membaca instruksi user (berupa file masukan) dan memasukannya ke dalam sebuah list untuk diproses kemudian.

Pembacaan instruksi

Procedure ReadInst( input namaFileMasukan : File , output ListofInst

: List) Deskripsi :

Memasukan instruksi dari file ke dalam list

I.S. namaFileMasukan merupakan file yang benar dan list kosong

F.S. ListofInst berisikan instruksi-instruksi dan beserta isi dari

field-nya.

III.3.2.2 Modul Pembagi

Modul ini membagi list hasil pembacaan menjadi dua, list blok dan list control statement. Masing-masing list kemudian akan diproses terpisah.

Pembagian instruksi

Procedure DivInst( input ListofInst : List , output ListofBlok :

List, ListofCtrlStmt : List) Deskripsi :

Membagi instruksi menjadi dua bagian, blok dan control statement I.S. ListofInst tidak kosong, ListofBlok dan ListofCtrlStmt kosong F.S. ListofBlok berisikan blok dan ListofCtrlStmt berisikan control

statement

III.3.2.3 Modul Pemroses Blok

Modul ini berisi seluruh blok yang dijelaskan pada bab II. Modul ini mengirimkan hasil dari blok tersebut ke proses selanjutnya. Secara umum bentuknya adalah :

Function namaBlok( input A,B,C,D,E,F,G,H : string)->transaksi

Deskripsi :

Memperbaharui nilai transaksi yang masuk dalam blok

I.S. Minimal satu dari field terisi (untuk beberapa blok : sembarang) F.S. transaksi terbaharui

(9)

III.3.2.4 Modul Pemroses Control Statement

Modul ini berisi seluruh control statement yang terdapat pada bab II. Modul ini memberikan nilai untuk setiap control statement. Secara umum, bentuknya adalah :

Procedure namaCtrlStmt( input A,B,C,D,E,F,G,H : string)

Deskripsi :

Menghasilkan nilai dari control statement I.S. Sembarang

F.S. nilai dari control statement masuk ke dalam proses simulasi

III.3.2.5 Modul Penjalanan Instruksi

Modul ini menjalankan simulasi jika ada perintah dari control statement dan menjalankan blok sesuai dengan urutan di dalam list. Control statement yang paling umum digunakan untuk menjalankan instruksi adalah START.

Penjalanan simulasi

Procedure Start( input A,B : string)

Deskripsi :

Menjalankan blok dan mengoutputkan hasil simulasi I.S. sembarang

F.S. simulasi selesai dijalankan dan semua hasil simulasi tertampung pada tempatnya masing-masing

III.3.2.6 Modul Pembuat Report

Modul ini membuat file report dari hasil penjalanan simulasi.

Pembuatan report

Procedure MakeRprt( input HslSimulasi : List , output namaFileRprt :

File)

Deskripsi :

Membuat sebuah file report I.S. sembarang

Gambar

Gambar III-2 DFD Level 1
Tabel entitas dan data besarta tabel proses DFD level 1 dapat dilihat pada dua tabel berikut :  Tabel III-1 Data dan Entitas pada DFD Level 1
Tabel III-2 Proses pada DFD Level 1
Gambar III-3 Arsitektur Sistem III.3.2  Perancangan Modul Perangkat Lunak

Referensi

Dokumen terkait

backing plate pada blok rem kereta api apabila mengalami pembebanan dengan menggunakan perangkat lunak Salome Meca yang berlisensi tebuka kemudian membandingkan hasil keluaran

Untuk mengakses ke lokasi lahan dapat langsung masuk menggunakan kendaraan roda dua dan roda empat atau lebih, dengan lebar jalan sekitar 8 m dan kondisi jalan

Proses desain sistem terbagi dalam kebutuhan perangkat keras dan.. Hal ini menentukan arsitektur perangkat lunak secara keseluruhan. Desain perangkat lunak mewakili fungsi

Kebutuhan perangkat lunak adalah kebutuhan beberapa perangkat lunak dalam membangun pembuatan sistem informasi monitoring bahan baku konveksi6. Adapun analisis

Berikut ini adalah diagram alir yang digunakan dalam perancangan perangkat lunak simulasi sistem keamanan untuk Mobile WiMax ini :.. Diagram

Analisis kinerja dinamis model dilakukan dengan bantuan perangkat lunak simulasi selanjutnya menghasilkan keluaran: (1) kontribusi lingkungan dari sistem pengelolaan sampah

Form ini merupakan form inti dari perangkat lunak yang berfungsi untuk. menghubungkan semua form yang ada pada

Merupakan tahapan dimana penulis membuat sebuah desain sebuah aplikasi bantu untuk mengukur tingkat kematangan perangkat lunak yang akan digunakan sebagai alat untuk