Selasa, 10 Mei 2016

Post-test Fase Disain

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


PRETEST FASE DISAIN

1) Perlukah dilakukan kegiatan disain sebelum melakukan pemrograman? Jika ya, apa saja yang harus dipersiapkan sebelum memulai kegiatan tersebut. Jelaskan !

Jawab : Ya, perlu dilakukan fase desain sebelum melakukan pemprograman. Beberapa hal yang harus dipersiapkan sebelum memulai kegiatan desain, yaitu :

Perencanaan adalah membuat semua rencana yang berkaitan dengan proyek sistem informasi. kalau kita ingin membangun rumah maka kita akan melakukan perencanaan bagaimana pondasinya , bagaimana struktur bangunannya, mau memakai material apa saja, apa warna dindingnya, tak ketinggalakan pula merencanakan anggaran budget yang harus kita keluarkan. begitu pula untuk membangun sistem informasi, sistem informasi apa saja, sistem informasi HRD, Logistik, Finance semuanya harus direncanakan. Dalam perencanaan, hampir semua pihak yang terlibat dalam proyek sistem informasi harus diikutsertakan, mulai manajer proyek (Project Manager) , user, calon pengguna sistem informasi, Busines Process Analyst , Sistem Analyst, Programmer sampai Tester.

Ada point-point penting perencanaan yang perlu dibuat dalam membangun sistem informasi :
  • Feasility study, yaitu membuat studi kelayakan untuk sistem informasi yang akan dibuat, seperti membuat kajian bagaimana proses bisnis akan berjalan dengan sistem baru dan bagaimana pengaruhnya.
  • Budget, yaitu membuat alokasi dan pengaturan pembiayaan proyek, termasuk biaya perjalanan dan biaya lembur.
  • Sumber daya, yaitu membuat alokasi sumber daya yang akan dipakai dalam proyek, misalnya jumlah tim, ketersediaan perangkat komputer dan sumber daya yang lain.
  • Cakupan (Scope) , yaitu menentukan batasan ruang lingkup sistem informasi yang akan dibangun.
  • Alokasi waktu, yaitu membuat alokasi waktu untuk keseluruhan proyek, setiap langkah, setiap tim, dan masing-masing aktifitas, mulai perencanaan sampai saat sistem informasi go live.