1). Apa saja yang perlu diperhatikan jika anda membuat desain
sistem / software (menurut kaidah-kaidah pembuatan software ?
Jawab : Terdapat dua langkah dalam mendisain sistem software,
yaitu :
1.
Pertama, bagilah sistem menjadi beberapa komponen secara
fungsional.
2.
Kedua, hubungkanlah komponen-komponen tersebut.
Disain yang terstruktur (structured design), tujuan utama dari
disain yang terstruktur adalah memecah sistem menjadi yang lebih kecil, teratur
dan mudah untuk dibagun.
Langkah pertama, yaitu :
Ø Desain Top Down (Top Down Design), masing-masing komponen utama
atau kotak dalam TLD dipecah menjadi sub-bagian dimulai level teratas, kemudian
turun ke level berikutnya, dst. Dimulai dengan MENU dan mendesainnya sebelum
turun ke INQUIRY, UPDATE, dan REPORT GENERATION, yang akan diikuti dengan
tingkat selanjutnya, jika ada.
Ø Desain Bottom Up (Bottom Up Design), dalam kasus ini
mendesain dengan menggunakan pendekatan dari level bawah/rendah ke level atas.
Hal ini sering ditemui pada kasus sistem pengontrolan proses dimana peralatan
pengontrolan hardware pada level terbawah menentukan bagaimana sistem disatukan
(integrasi sistem).
Siapa
yang Membutuhkan Custom Software?
Software Custom / Sesuai Kebutuhan biasanya dipakai oleh
Perusahaan, Institusi Pemerintahan untuk melayani Pelanggan, seorang
entreprenur yang membutuhkan sistem yang lain dari yang ada dipasaran sesuai
dengan kebutuhannya dan lain lain.
Manfaat
Penerapan Perangkat Lunak di lingkungan Anda
Berikut ini adalah beberapa point penting Manfaat mengapa
anda akan menerapkan Perangkat Lunak yang tepat untuk Perusahaan /
Institusi Anda:
Efektif
- Efisien.
Dengan Standar Operating Procedure ( SOP ) yang jelas maka
karyawan akan lebih efektif langsung ke tujuan yang dibutuhkan pelanggan tanpa
ada delay untuk proses yang berbelit belit. Dengan efektifitas yang baik sudah
barang tentu perusahaan anda akan lebih baik citranya di mata customer anda.
Tanggung jawab antara satu karyawan dengan karyawan yang lain akan
terlihat secara jelas apabila ada delay di salah satu bagian untuk proses
tertentu. Misalnya apakah suatu proses berhenti pada proses perijinan - pergudangan
- pengiriman bisa di monitor secara jelas dalam suatu system perangkat lunak.
Ini merupakan suatu efisiensi yang besar dalam pengelolaan sebuah kinerja suatu
usaha / institusi.
Lebih Hemat
Penerapan Perangkat Lunak ( Software ) yang tepat dapat menghemat
pengeluaran misalnya dalam hal pencetakan dokumen. Dokumen akan dicetak
sesuai dengan kebutuhan saja untuk yang membutuhkan. Pihak pimpinan tidak perlu
mendapatkan dokumen cetak apabila untuk laporan sesaat saja karena semua
informasi sudah bisa di dapatkan melalui Perangkat lunak Anda.
Selain itu dengan Perangkat Lunak yang tepat dapat menghemat biaya
komunikasi. Misalnya antara pimpinan dengan bawahan akan melihat data di
perangkat lunak dan tanpa komunikasi keduanya juga akan sama sama paham untuk
menindaklanjutinya. Begitu juga antara Kantor Cabang dan Kantor Pusat. Hal ini
akan mengurangi biaya komunikasi voice antara satu karyawan dengan karyawan
lain di beda kantor. Penghematan dalam artian cost telepon dan efisiensi waktu
kerja karyawan.
Terdokumentasi
Semua catatan / informasi dari sebuah transaksi dengan pelanggan
tidak akan bertebaran kemana mana, karena semua data telah di organisasi dengan
baik dengan sebuah database yang menangani transaksi tersebut. Untuk tahun
tahun yang sudah berjalan, data tersebut dapat di arsipkan dan di backup untuk
kepentingan auditor sewaktu waktu.
Kredibilitas
lebih baik ke Customer
Semua informasi rekam jejak dari customer didokumentasikan dengan
baik oleh Perangkat Lunak, dan dengan sistem yang baik informasi tersebut dapat
disajikan dalam hitungan detik untuk menunjang kebutuhan informasi ke customer.
Customer yang nyaman, akurat dan cepat di layani akan meningkatkan kredibilitas
perusahaan / institusi anda.
Akuntable
dan Auditable
Informasi mengenai data rekam jejak Pelanggan, Barang, Keuangan,
Semuanya bersifat akuntable (dapat dihitung secara uptodate) tanpa bantuan
karyawan misalnya jumlah stok barang A atau Kondisi keuangan pada saat tanggal
sekian dapat diketahui dengan sangat mudah.
Selain itu dengan bantuan Perangkat Lunak semua informasi
auditable ( Dapat diaudit ) dengan mudah dan terdokumentasi. Misalnya ketidak
sesuaian keuangan antara sistem keuangan dengan aslinya dapat ditelusuri dengan
mudah sehingga terjadi kejelasan kinerja dari suatu bagian.
Lebih
cepat dalam Pengambilan Keputusan
Dengan perubahan informasi yang cepat diketahui, pihak Executive /
Manajemen akan lebih cepat mengambil tindakan terkait dengan kondisi yang
sebenarnya. Misalnya Fluktuasi harga barang yang tidak menentu dibanding dengan
jumlah stok yang kurang memadai maka pihak manajemen akan mampu untuk
menyikapinya dengan responsif.
Informasi
Data secara Realtime
Informasi akan lebih mudah diakses secara Realtime dengan Software
/ Perangkat Lunak yang sesuai dengan kebutuhan Anda. Contohnya adalah informasi
Stok Barang A pada tanggal dan Jam sekian akan lebih mudah memantaunya karena
data stok barang merupakan pengurangan pemakaian stok barang.
Otomatisasi
System Usaha
Informasi Pelanggan akan secara otomatis di delegasikan kepada
pegawai yang tepat. Dan setiap proses di suatu bagian selesai akan memberikan
notifikasi otomatis ke bagian selanjutnya.
Dapat
diakses dimana saja dan oleh siapa saja yang berhak
Informasi dari perangkat lunak tersebut dapat di buat private /
dapat diakses oleh orang tertentu saja. Informasi tersebut juga dapat di buat
publik untuk bagian tertentu saja sesuai dengan kebutuhan informasi pelanggan
atau pihak manajemen lain di kantor pusat.
Aspek aspek yang perlu diperhatikan dalam membuat Perangkat Lunak
Logika
/ Alur Program yang Tepat
·
Inti dari sebuah software adalah logika
Bahasa
Pemrograman yang sesuai dengan Kebutuhan
· Pemilihan Bahasa pemrograman yang sesuai kebutuhan
merupakan sesuatu yang penting dilakukan diawal dalam tahapan Analisa kebutuhan
pembuatan software. beberapa pertimbanganya adalah sebagai berikut :
1.
Apakah software tersebut harus dapat diakses oleh
siapa saja dan dimana saja.
2.
Berapakah Jumlah transaksi per berapa menitnya untuk
software tersebut.
3.
Apakah system tersebut berinteraksi dengan banyak
user.
4.
Apakah ada sistem otomatisasi seperti tugas yang
selalu berjalan setiap jamnya.
5.
Apakah pelanggan mau berinvestasi untuk menggunakan
software lisensi seperti Oracle / Microsoft untuk Database Systemnya.
· Hal hal tersebut diatas diantaranya yang mendasari
kebutuhan dari pemilihan bahasa pemrograman. Untuk saat ini kami menyediakan
beberapa bahasa pemrograman untuk memenuhi kebutuhan anda sesuai dengan
kebutuhan. Beberapa bahasa pemrograman spesialisasi kami adalah sbb :
1. PHP - PERL : Gabungan keduanya merupakan bahasa
disisi server yang tangguh untuk solusi web programming dan web services.
2.
HTML 5 & CSS 3 untuk tampilan menarik dan
interaktif yang berjalan di Web Browser.
3. Ajax & Javascript untuk Interaktivity Program
dengan menggunakan media web Browser seperti Mozilla , IE , Chrome dll.
4.
Action Script / Flash.
5. Mobile Programming baik untuk SmartPhone -
Tablet maupun Smart TV. Saat ini spesialisasi kami adalah Native Android
Programming.
6.
Adobe Air dan Adobe Flex untuk solusi alternatif
Desktop Programming.
7.
C++ untuk keandalan Dekstop Programing.
8.
Visual Basic & Delphi untuk solusi Desktop .
9.
MySQL - SQL Server - SQLite dan sejenisnya untuk
solusi database engine.
Sekurity
Sistem
· Dalam membuat suatu sistem Perangkat Lunak / Software
haruslah diperhatikan sisi keamanan dari system tersebut. Mulai dari Setting
Server, apabila menggunakan Windows akan banyak sekali virus atau trojan yang
siap untuk menghambat keamanan system anda. Apabila menggunakan Server Linux
maka harus dikonfigurasi dengan baik karena default dari sistem linux adalah
sekuritinya banyak yang terbuka. Oleh karenanya memang harus di cermati dengan
seksama sisi ini. Level ini adalah keamanan Jaringan dari suatu sistem .
Dari sisi software ada beberapa sisi keamanan yang mungkin akan menjadi celah
untuk diretas. Salah satunya adalah karena bug / logika yang kurang sempurna
dari developer software tersebut. Oleh karenanya memang harus benar benar
diperhatikan rancangan dari sistem tersebut, siapa orang orang yang bertanggung
jawab dalam development software tersebut dan bagaimana proses testing terhadap
bug tersebut dilakukan. Intinya dalam membuat software tidak hanya asal jadi
akan tetapi seberapa bagus logika developer tersebut. Hal ini dapat diketahui
dengan portofolio dari developer tersebut.
Ketiga adalah dari sisi Desain Database sebuah software. Apakah desainnya benar
benar bagus karena suatu sistem database ini akan menyimpan semua informasi
dilingkungan anda. Apabila relasi dan desain datanya kurang begitu sempurna
akan menjadikan suatu masalah di kemudian hari.
User
Interface yang bagus dan mudah untuk digunakan
· Interaksi antara software dengan pengguna juga sangat
penting untuk diperhatikan. Hal ini akan meningkatkan efektifitas dan efisiensi
kinerja dari pengguna software itu sendiri dan sistem secara keseluruhan.
Desain tampilan yang baik - urutan / flow program yang benar merupakan
pertimbangan yang harus diperhatikan benar benar dalam proses development
sebuah software.
Kesesuaian
dengan Kebutuhan
·
Suatu sistem software haruslah dapat sesuai dengan
kebutuhan pelanggan yang memesannya dengan sempurna. Misalnya untuk
akuntansi haruslah dapat menghitung barang barang yang kena pajak dan tidak
dikenai pajak dengan sempurna.
Sistem
software bukanlah input data - output data. Proses adalah Kuncinya
· Sistem software yang baik tidaklah hanya proses
memasukkan / Input data saja kemudian meng-outputkannya saja. Akan tetapi
"Proses" transformasi dari data menggunakan rumus - aturan - kaidah
kaidah yang berkaitan untuk satu pengguna dan pengguna lainnya adalah suatu hal
yang harus diperhitungkan.
Desain
sistem yang modular yang terintegrasi
· Dalam membuat sistem software lebih baik apabila
antara satu bagian dengan bagian yang lain terintegrasi secara modular.
Misalnya dalam suatu restoran bagian dapur dan penjualan terintegrasi secara
sempurna. Dapur mengetahui stok yang masih tersedia sehingga dapat
mempersiapkan lebih dini. dalam mengetahui stok tersebut akan lebih baik
informasinya melalui software dibandingkan melalui media cetak seperti cetak
excel. Inilah yang disebut dengan terintegrasi.
Selain itu sistem ini haruslah modular. Perubahan dari sistem proses penjualan
haruslah minor perubahan pada proses di dapur. Hal ini akan lebih memudahkan
apabila akan dikembangkan ke bagian sebelumnya misalnya pergudangan dsb.
Multi
User Multi Privillege
· Setiap pengguna dari sistem software haruslah
mengakomodasi kebutuhan dari pengguna penggunanya. Kebutuhan Penjualan tentulah
berbeda dengan kebutuhan pengguna dapur / pergudangan. Kebutuhan User A sebagai
karyawan penjualan tentulah berbeda dengan user B yang memiliki wewenang
sebagai Pimpinan dalam suatu perusahaan.
Fleksibilitas pengaturan dari masing masing pengguna dengan hak hak aksesnya
merupakan sesuatu yang harus diperhatikan dalam software yang baik.
Tahapan
Dalam Pembuatan Perangkat Lunak
1.
Analisa Kebutuhan Customer
2.
Presentasi Rancangan dan Batasan batasan Pengerjaan
3.
Rancangan Anggaran dan Negosiasi Kontrak Kerja
4.
Perancangan Prototype
5.
Presentasi Prototype ke Customer
6.
Desain Arsitektur Software
7.
Pembuatan Kode Bahasa Pemrograman Perangkat Lunak
8.
Alpha Testing
9.
Beta Testing
10.
Implementasi Ke Customer.
11.
Proses Maintenance Program
Panduan
Rincian Biaya Software Development
· Dalam membangun sebuah Software sangat tergantung pada
beberapa aspek, beberapa diantaranya adalah :
1.
Seberapa Besar Cakupan dari Software Tersebut.
2.
Seberapa Rumit Proses - proses yang ada di dalamnya.
3.
Apakah sudah tersedia data standar untuk menjadi bahan
inputan.
4. Seberapa banyak peran pengguna dalam berinteraksi dengan
software tersebut. Multi User - Multi View - Multi Privillege.
5.
Perangkat Keras dan Perangkat Lunak pendukung yang
harus dikonfigurasi.
6.
Apakah Environment Pendukung support terhadap software
tersebut
7. Apakah pihak customer bisa dengan baik mengkomunikasikan
problem / masalah yang akan di software kan / Perangkat Lunak beserta batasan
batasannya.
8.
Output yang diinginkan apakah standar atau harus
spesifik dengan kriteria tertentu.
9.
Apakah sudah tersedia sistem IT dilingkungan customer.
10.
Apakah sudah tersedia Brainware / Pegawai yang sudah
memiliki pengetahuan tentang sistem IT.
11.
Apakah sistem sudah mempunyai pegawai IT yang siap
untuk maintenance sistem IT.s