sebagai fase-fase yang berbeda seperti spesifikasi persyaratan, perancangan perangkat lunak, implementasi, pengujian dan seterusnya.
2. Pegembangan evolusioner. Suatu sistem awal dikembangkan dengan cepat dari spesifikasi abstrak.
3. Pengembangan sistem formal. Pendekatan ini didasarkan atas pembuatan spesifikasi sistem matematis dan pentransformasian sistem ini dengan metode
matematis untuk membangun program. 4. Pengembangan berdasarkan pemakaian ulang. Pendekatan ini didasarkan adanya
komponen yang dapat dipakai ulang dalam jumlah yang signifikan.
Pada proses perancangan perangkat lunak dilakukan beberapa kegiatan seperti: 1. Perancangan arsitektural. Subsistem-subsistem yang membentuk sistem dan
hubungan mereka diidentifikasi dan didokumentasi. 2. Spesifikasi abstrak. Untuk setiap subsistem, spesifikasi abstrak dari layanan dan
batasan operasinya harus ditentukan. 3. Perancangan komponen. Layanan dialokasikan pada komponen yang berbeda.
4. Perancangan struktur data. Struktur data yang dipakai pada implementasi sistem dirancang secara rinci dan dispesifikasi.
5. Perancangan algoritma. Algoritma yang digunakan untuk memberikan layanan dirancang secara rinci dan dispesifikasi.
2.7 MATLAB
Menurut bahasa, MATLAB adalah singkatan dari mathematics laboratory atau matrix laboratory. Dalam ilmu komputer, MATLAB didefinisikan sebagai bahasa
pemograman yang digunakan untuk mengerjakan operasi matematika atau operasi aljabar matriks. MATLAB merupakan sistem intraktif yang data dasarnya adalah
matriks. Matriks dianggap data dasar MATLAB karena semua input di MATLAB dapat ditulis dalam bentuk matriks.
2.7.1 Sejarah MATLAB
MATLAB pertama kali disusun oleh Cleve Moler yang menulis bahasa ini dengan menggunakan bahasa pemograman Fortran Format Translation di Mexico University
dan Stanford University pada akhir 1970-an. Bahasa MATLAB digunakan pada mata kuliah Teori Matrikas, Aljabar Linear, dan Analisis Numeris.
MATLAB saat ini ditulis dengan menggunakan bahasa pemograman C oleh The Math Work. Edisi Pertama MATLAB ditulis oleh Steve Bangert dimana ia
menulis bagian interpreter. Bagian grafika ditulis oleh Steve Kleiman. John Litlle dan Cleve Moler menulis rutin-rutin analitis Analitical Routines, petunjuk pemakai
User’s Guide dan sebagian besar dari File-m M-File. Sejak bagian pertama MATLAB pertama ditulis, banyak orang yang bergabung dengan tim pengembangan
MATLAB dan berhasil memberikan sumbangan atau kontribusi yang substansial.
Sekarang kemampuan MATLAB jauh melebihi kemampuan Matrix Laboratory semula, sehingga MATLAB dapat dikatakan sebagai bahasa pemograman
canggih untuk kegiatan komputasi.
2.7.2 Kemampuan dan Kegunaan MATLAB
Di dalam MATLAB terdapat kemampuan perhitungan, visualisasi, dan pemograman. Kegunaan MATLAB secara umum adalah untuk:
1. Visualisasi 2. Pemodelan
3. Perhitungan matematis 4. Program aplikasi
5. Pembuatan grafis 6. Mendesain algoritma
7. Analisis data 8. Pembuatan prototype
9. Simulasi 10. Eksplorasi
BAB 3
ANALISIS DAN PEMODELAN PERANGKAT LUNAK
3.1 Analisis Permasalahan Algoritma Hill Cipher Tergeneralisasi
Tahapan analisis terhadap suatu sistem dilakukan sebelum tahapan perancangan dilakukan. Tujuan diterapkannya analisis terhadap suatu sistem adalah untuk
mengetahui alasan mengapa sistem tersebut diperlukan, merumuskan kebutuhan-kebutuhan dari sistem tersebut untuk mereduksi sumber daya yang berlebih
serta membantu merencanakan penjadwalan pembentukan sistem, meminimalisir distorsi-distorsi yang mungkin terdapat di dalam sistem tersebut sehingga fungsi yang
terdapat di dalam sistem tersebut bekerja secara optimal.
Salah satu unsur pokok yang harus dipertimbangkan dalam tahapan analisis sistem ini yaitu masalah perangkat lunak, karena perangkat lunak yang digunakan
haruslah sesuai dengan masalah yang akan diselesaikan. Untuk itu, analisis yang dilakukan terhadap perangkat lunak invers matriks tergeneralisasi terbagi ke dalam
dua aspek, yaitu analisis kebutuhan perangkat lunak algoritma Hill Cipher Tergeneralisasi dan analisis fungsi perangkat lunak algoritma Hill Cipher
Tergeneralisasi.
3.2 Analisis Kebutuhan Algoritma Hill Cipher Tergeneralisasi