Rabu, 15 November 2017

Firewall pada Mikrotik

Firewall

Firewall adalah sebuah sistem yang didesain untuk mencegah akses yang tidak sah ke atau dari jaringan pribadi (Privat Network). Firewall dapat diimplementasikan dalam perangkat keras dan perangkat lunak, atau kombinasi keduanya. Firewall sering digunakan untuk mencegah pengguna Internet yang tidak saheng mengakses jaringan pribadi yang terhubung ke Internet, terutama intranet. Semua pesan masuk atau keluar dari intranet melewati firewall, filewall bertindak sebagai pengawas (controller) setiap pesan dan memblok jika tidak memenuhi kriteria keamanan tertentu.
Menurut Pengertian Firewall yang dimaksudkan diatas, firewall adalah sebuah sistem atau perangkat yang memberi otorisasi pada lalu lintas jaringan komputer yang dianggapnya aman untuk melaluinya dan melakukan pencegahan terhadapa jaringan yang dianggap tidak aman. Firewall dapat berupa perangkat lunak (program komputer atau aplikasi) atau perangkat keras (peralatan khusus untuk menjalankan program fire-wall) perangkat yang menyaring lalu lintas jaringan antara jaringan. Perlindungan dengn Firewall adalah mutlak diperlukan untuk komputasi perangkat seperti komputer yang diaktifkan dengan koneksi Internet. Meningkatkan tingkat keamanan jaringan komputer dengan memberikan informasi rinci tentang pola-pola lalu lintas jaringan. Perangkat ini penting dan sangat diperlukan karena bertindak sebagai gerbang keamanan antara jaring komputer internal dan jaringan komputer eksternal.

Fungsi

  • Alamat IP dari komputer sumber
  • Port TCP/UDP sumber dari sumber.
  • Alamat IP dari komputer tujuan.
  • Port TCP/UDP tujuan data pada komputer tujuan
  • Informasi dari header yang disimpan dalam paket data.

Cara Kerja

Tembok api berada di antara kedua jaringan seperti internet dan komputer sehingga tembok api berfungsi sebagai pelindung. Tujuan utama adanya firewall adalah untuk user yang tidak menginginkan lalu lintas jaringan yang berusaha masuk ke komputer, namun tidak hanya itu saja yang bisa dilakukan tembok api. Firewall juga dapat menganalisis jaringan yang mencoba masuk ke komputer anda, dan dapat melakukan apa yang harus dilakukan ketika jaringan tersebut masuk. Contohnya saja, tembok api bisa diatur untuk memblokir beberapa jenis jaringan yang mencoba keluar atau mencatat log lalu lintas jaringan yang mencurigakan.

Firewall bisa memiliki berbagai aturan yang dapat anda tambahkan atau hapus untuk menolak jaringan tertentu. Contohnya saja, hanya dapat mengakses alamat IP tertentu atau mengumpulkan semua akses dari tempat lain untuk ke satu tempat yang aman terlebih dahulu

Implementasi Firewall pada Router Mikrotik

Didalam firewall mikrotik kita dapat menggunakan fitur deteksi content, dengan fitur ini kita dapat mendeteksi isi berupa tulisan yang ada didalam paket data seperti URL sebuah situs, lalu kita dapat melakukan pengizinan atau pemblokiran pada URL tersebut.

Fitur ini hanya dapat memblokir URL situs web yang masih menggunakan HTTP port 80 tanpa SSL, maka situs yang sudah menggunakan HTTPS seperti facebook, google, dll tidak dapat diblokir menggunakan fitur ini karena tiap tulisan didalam paket HTTPS dienkripsi sehingga Router MikroTik tidak dapat membacanya.

Contoh topologi:

Chain pada Firewall Mikrotik

Firewall beroperasi dengan menggunakan aturan firewall. Setiap aturan terdiri dari dua bagian - matcher yang sesuai arus lalu lintas terhadap kondisi yang diberikan dan tindakan yang mendefinisikan apa yang harus dilakukan dengan paket yang cocok. Aturan firewall filtering dikelompokkan bersama dalam chain. Hal ini memungkinkan paket yang akan dicocokkan terhadap satu kriteria umum dalam satu chain, dan kemudian melewati untuk pengolahan terhadap beberapa kriteria umum lainnya untuk chain yang lain.
Ada tiga chain yang telah ditetapkan pada RouterOS Mikrotik :
  1. Input - digunakan untuk memproses paket memasuki router melalui salah satu interface dengan alamat IP tujuan yang merupakan salah satu alamat router. Chain input berguna untuk membatasi akses konfigurasi terhadap Router Mikrotik.
  2. Forward - digunakan untuk proses paket data yang melewati router.
  3. Output - digunakan untuk proses paket data yang berasal dari router dan meninggalkan melalui salah satu interface.
Ketika memproses chain, rule yang diambil dari chain dalam daftar urutan akan dieksekusi dari atas ke bawah. Jika paket cocok dengan kriteria aturan tersebut, maka tindakan tertentu dilakukan di atasnya, dan tidak ada lagi aturan yang diproses dalam chain. Jika paket tidak cocok dengan salah satu rule dalam chain, maka paket itu akan diterima.

Connection State (Status paket data yang melalui router)
  • Invalid : paket tidak dimiliki oleh koneksi apapun, tidak berguna.
  • New : paket yang merupakan pembuka sebuah koneksi/paket pertama dari sebuah koneksi.
  • Established : merupakan paket kelanjutan dari paket dengan status new.
  • Related : paket pembuka sebuah koneksi baru, tetapi masih berhubungan denga koneksi sebelumnya.
Action Filter Firewall RouterOS Mikrotik
Pada konfigurasi firewall mikrotik ada beberapa pilihan Action, diantaranya :
  • Accept : paket diterima dan tidak melanjutkan membaca baris berikutnya
  • Drop : menolak paket secara diam-diam (tidak mengirimkan pesan penolakan ICMP) 
  • Reject : menolak paket dan mengirimkan pesan penolakan ICMP
  • Jump : melompat ke chain lain yang ditentukan oleh nilai parameter jump-target
  • Tarpit : menolak, tetapi tetap menjaga TCP connection yang masuk (membalas dengan SYN/ACK untuk paket TCP SYN yang masuk)
  • Passthrough : mengabaikan rule ini dan menuju ke rule selanjutnya
  • log : menambahkan informasi paket data ke log
Contoh Pengunaan Firewall pada Router Mikrotik:
Katakanlah jaringan pribadi kita adalah 192.168.0.0/24 dan publik (WAN) interface ether1. Kita akan mengatur firewall untuk memungkinkan koneksi ke router itu sendiri hanya dari jaringan lokal kita dan drop sisanya. Juga kita akan memungkinkan protokol ICMP pada interface apapun sehingga siapa pun dapat ping router kita dari internet. Berikut command nya :
/ip firewall filter
add chain=input connection-state=invalid action=drop \
 comment="Drop Invalid connections"  
add chain=input connection-state=established action=accept \
 comment="Allow Established connections"  
add chain=input protocol=icmp action=accept \
 comment="Allow ICMP" 
add chain=input src-address=192.168.0.0/24 action=accept \
 in-interface=!ether1 
add chain=input action=drop comment="Drop semuanya"  


source :
https://putrihandayani61.wordpress.com/2016/11/10/firewall-adalah-pengertian-fungsi-manfaat-cara-kerja-firewall/

https://id.m.wikipedia.org/wiki/Tembok_api

https://mikrotikindo.blogspot.co.id/2013/03/belajar-mikrotik-dasar-firewall-mikrotik.html

http://dzikrafathintech.blogspot.co.id/2017/09/memblokir-situs-web-menggunakan.html?m=1

Sabtu, 24 Juni 2017

Prototyping

Prototyping


Prototyping merupakan salah satu metode pengembangan perangat lunak yang banyak digunakan. Dengan metode prototyping ini pengembang dan pelanggan dapat saling berinteraksi selama proses pembuatan sistem.
Sering terjadi seorang pelanggan hanya mendefinisikan secara umum apa yang dikehendakinya tanpa menyebutkan secara detal output apa saja yang dibutuhkan, pemrosesan dan data-data apa saja yang dibutuhkan. Sebaliknya disisi pengembang kurang memperhatikan efesiensi algoritma, kemampuan sistem operasi dan interface yang menghubungkan manusia dan komputer.
Untuk mengatasi ketidakserasian antara pelanggan dan pengembang , maka harus dibutuhkan kerjasama yanga baik diantara keduanya sehingga pengembang akan mengetahui dengan benar apa yang diinginkan pelanggan dengan tidak mengesampingkan segi-segi teknis dan pelanggan akan mengetahui proses-proses dalam menyelasaikan sistem yang diinginkan. Dengan demikian akan menghasilkan sistem sesuai dengan jadwal waktu penyelesaian yang telah ditentukan.
Kunci agar model prototype ini berhasil dengan baik adalah dengan mendefinisikan aturan-aturan main pada saat awal, yaitu pelanggan dan pengembang harus setuju bahwa prototype dibangun untuk mendefinisikan kebutuhan. Prototype akan dihilangkan sebagian atau seluruhnya dan perangkat lunak aktual aktual direkayasa dengan kualitas dan implementasi yang sudah ditentukan

Tahapan-Tahapan Prototyping
Tahapan-tahapan dalam Prototyping adalah sebagai berikut:
1.      Pengumpulan kebutuhan Pelanggan dan  pengembang bersama-sama mendefinisikan  format seluruh perangkat lunak, mengidentifikasikan semua kebutuhan, dan garis besar sistem yang akan dibuat.
2.    Membangun prototyping Membangun prototyping dengan membuat perancangan sementara yang berfokus pada penyajian kepada pelanggan (misalnya dengan membuat input dan format output)
3.     Evaluasi protoptyping Evaluasi ini dilakukan oleh pelanggan apakah prototyping yang sudah dibangun sudah sesuai dengan keinginann pelanggan. Jika sudah sesuai maka langkah 4 akan diambil. Jika tidak prototyping direvisi dengan mengulangu langkah 1, 2 , dan 3.
4.     Mengkodekan sistem Dalam tahap ini prototyping yang sudah di sepakati diterjemahkan ke dalam bahasa pemrograman yang sesuai
5.      Menguji sistem Setelah sistem sudah menjadi suatu perangkat lunak yang siap pakai, harus dites dahulu sebelum digunakan.  Pengujian ini dilakukan dengan White Box, Black Box, Basis Path, pengujian arsitektur dan lain-lain
6.      Evaluasi Sistem Pelanggan mengevaluasi apakah sistem yang sudah jadi sudah sesuai dengan yang diharapkan . Juka ya, langkah 7 dilakukan; jika tidak, ulangi langkah 4 dan 5.
7.      Menggunakan sistem Perangkat lunak yang telah diuji dan diterima pelanggan siap untuk digunakan .
                                         
Keunggulan dan Kelemahan Prototyping
Keunggulan prototyping adalah:
1.      Adanya komunikasi yang baik antara pengembang dan pelanggan
2.      Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan
3.      Pelanggan berperan aktif dalam pengembangan sistem
4.      Lebih menghemat waktu dalam pengembangan sistem
5.      Penerapan menjadi lebih mudah karena pemakai mengetahui apa yang diharapkannya.

Kelemahan prototyping adalah :
1.      Pelanggan kadang tidak melihat atau menyadari bahwa perangkat lunak yang ada belum mencantumkan  kualitas perangkat lunak secara keseluruhan dan juga belum memikirkan kemampuan pemeliharaan untuk jangja waktu lama.
2.      penegmbang biasanya ingin cepat menyelesaikan proyek. Sehingga menggunakan algoritma dan bahasa pemrograman yang sederhana untuk membuat prototyping lebih cepat selesai  tanpa memikirkan  lebih lanjut bahwa program tersebut hanya merupakan cetak biru sistem .
3.      Hubungan pelanggan dengan komputer yang disediakan mungkin  tidak mencerminkan teknik perancangan yang baik

Prototyping bekerja dengan baik pada penerapan-penerapan yang berciri sebagai berikut:
1.      Resiko tinggi yaitu untuk masalah-masalah yang tidak terstruktur dengan baik, ada perubahan yang besar dari waktu ke waktu, dan adanya persyaratan data yang tidak menentu.
2.      Interaksi pemakai penting . Sistem harus menyediakan dialog on-line antara pelanggan dan komputer.
3.      Perlunya penyelesaian yang cepat
4.      Perilaku pemakai yang sulit ditebak
5.      Sitem yang inovatif. Sistem tersebut membutuhkan cara penyelesaian masalah dan penggunaan perangkat keras yang mutakhir
6.      Perkiraan tahap penggunaan sistem yang pendek

Prototipe bisa juga menjadi masalah karena alasan sebagai berikut:
1.      Pelanggan melihat apa yang tampak sebagai versi software yang bekerja tanpa melihat bahwa prototipe itu dijalin bersama – sama “dengan permen karet dan baling wire”, tanpa melihat bahwa di dalam untuk membuatnya bekerja, kita belum menyantumkan kualitas software secara keseluruhan atau kemampuan pemeliharaan untuk jangka waktu yang panjang. Ketika diberi informasi bahwa produk harus dibangun lagi agar tingkat kualitas yang tinggi bisa dijaga, pelanggan akan meneriakan kecurangan dan permintaan agar dipakai “beberapa campuran” untuk membuat prototipe menjadi sebuah produk yang bekerja yang lebih sering terjadi, sehingga manajemen pengembangan software menjadi penuh dengan belas kasihan.
2.      Pengembang sering membuat kompromi – kompromi implementasi untuk membuat prototipe bekerja dengan cepat. Sistem operasi atau bahasa pemrograman yang tidak sesuai bisa dipakai secara sederhana karena mungkin diperoleh dan dikenal; algoritma yang tidak efisien secara sederhana bisa diimplementasikan untuk mendemonstrasikan kemampuan. Setelah selang waktu tertentu, pengembang mungkin mengenali pilihan – pilihan tersebut dan melupakan semua alasan mengapa mereka tidak cocok. Pilihan yang kurang ideal telah menjadi bagian integral dari sebuah sistem.

Meskipun berbagai masalah bisa terjadi, prototipe bisa menjadi paradigm yang efektif bagi Software Engineering. Kuncinya adalah mendefinisikan aturan main pada saat awal; yaitu pelanggan dan pengembang keduanya harus setuju bahwa prototipe dibangun untuk berfungsi sebagai mekanisme pendefinisian kebutuhan. Prototipe kemudian disingkirkan (paling tidak sebagian), dan software aktual direkayasa dengan tertuju kepada kualitas dan kemampuan pemeliharaan.

2.      METODE RAD ( RAPID APPLICATION DEVELOPMENT )
Rapid Aplication Development (RAD) adalah sebuah model proses perkembangan software sekuensial linier yang menekankan siklus perkembangan yang sangat pendek. Model RAD ini merupakan sebuah adaptasi “kecepatan tinggi” dari model sekuensial linier di mana perkembangan cepat dicapai dengan menggunakan pendekatan kontruksi berbasis komponen. Jika kebutuhan dipahami dengan baik, proses RAD memungkinkan tim pengembangan menciptakan “sistem fungsional yang utuh” dalam periode waktu yang sangat pendek (kira-kira 60 sampai 90 hari). Karena dipakai terutama pada aplikasi sistem konstruksi, pendekatan RAD melingkupi fase – fase sebagai berikut :
1.      Bussiness modeling
Aliran informasi di antara fungsi – fungsi bisnis dimodelkan dengan suatu cara untuk menjawab pertanyaan – pertanyaan berikut : informasi apa yang mengendalikan proses bisnis? Informasi apa yang di munculkan? Siapa yang memunculkanya? Ke mana informasi itu pergi? Siapa yang memprosesnya?
2.      Data modeling Aliran informasi yang didefinisikan sebagai bagian dari fase bussiness modelling disaring ke dalam serangkaian objek data yang dibutuhkan untuk menopang bisnis tersebut. Karakteristik (disebut atribut) masing – masing objek diidentifikasi dan hubungan antara objek – objek tersebut didefinisikan.
3.      Prosess modelling Aliran informasi yang didefinisikan di dalam fase data modeling ditransformasikan untuk mencapai aliran informasi yang perlu bagi implementasi sebuah fungsi bisnis. Gambaran pemrosesan diciptakan untuk menambah, memodifikasi, menghapus, atau mendapatkan kembali sebuah objek data.
4.      Aplication generation RAD mengasumsikan pemakaian teknik generasi ke empat. Selain menciptakan perangkat lunak dengan menggunakan bahasa pemrograman generasi ketiga yang konvensional, RAD lebih banyak memproses kerja untuk memkai lagi komponen program yang ada ( pada saat memungkinkan) atau menciptakan komponen yang bisa dipakai lagi (bila perlu). Pada semua kasus, alat – alat bantu otomatis dipakai untuk memfasilitasi konstruksi perangkat lunak.
5.     Testing and turnover Karena proses RAD menekankan pada pemakaian kembali, banyak komponen program telah diuji. Hal ini mengurangi keseluruhan waktu pengujian. Tetapi komponen baru harus di uji dan semua interface harus dilatih secara penuh.
Keunggulan dan Kelemahan Model RAD
1.      Keunggulan Model RAD
·         Setiap fungsi mayor dapat dimodulkan dalam waktu tertentu kurang dari 3 bulan dan dapat dibicarakan oleh tim RAD yang terpisah dan kemudian diintegrasikan sehinnga waktunya lebih efesien.
·         RAD mengikuti tahapan pengembangan sistem sepeti umumnya, tetapi mempunyai kemampuan untuk menggunakan kembali komponen yang ada (reusable object) sehingga pengembang pengembang tidak perlu membuat dari awal lagi dan waktu lebih singkat .
2.      Kelemahan Model RAD :
·         Proyek yang besar dan berskala, RAD memerlukan sumer daya manusia yang memadai untuk menciptakan jumlah tim yang baik.
·         RAD menuntut pengembang dan pelanggan memiliki komitmen dalam aktivitas rapid fire yang diperlukan untuk melengkapi sebuah sistem dlam waktu yang singkat. Jiak komitmen tersebut tidak ada maka proyek RAD akan gagal.

3.      METODE SDLC / WATERFALL
Model ini mengusulkan sebuah pendekatan kepada perkembangan software yang sistematik dan sekuensial yang mulai pada tingkat dan kemajuan sistem pada seluruh analisis, desain, kode, pengujian, dan pemeliharaan. Dimodelkan setelah siklus rekysa konvensional, model sekuensial linier melingkupi aktivitas – aktivitas sebagai berikut :
1.      Rekayasa dan pemodelan sistem/informasi
Karena sistem merupakan bagian dari sebuah sistem yang lebih besar, kerja dimulai dengan membangun syarat dari semua elemen sistem dan mengalokasikan beberapa subset dari kebutuhan ke software tersebut. Pandangan sistem ini penting ketika software harus berhubungan dengan elemen-elemen yang lain seperti software, manusia, dan database. Rekayasa dan anasisis sistem menyangkut pengumpulan kebutuhan pada tingkat sistem dengan sejumlah kecil analisis serta disain tingkat puncak. Rekayasa informasi mancakup juga pengumpulan kebutuhan pada tingkat bisnis strategis dan tingkat area bisnis.
2.      Analisis kebutuhan Software
Proses pengumpulan kebutuhan diintensifkan dan difokuskan, khusunya pada software. Untuk memahami sifat program yang dibangun, analis harus memahami domain informasi, tingkah laku, unjuk kerja, dan interface yang diperlukan. Kebutuhan baik untuk sistem maupun software didokumentasikan dan dilihat lagi dengan pelanggan.
3.      Desain
Desain software sebenarnya adalah proses multi langkah yang berfokus pada empat atribut sebuah program yang berbeda; struktur data, arsitektur software, representasi interface, dan detail (algoritma) prosedural. Proses desain menterjemahkan syarat/kebutuhan ke dalam sebuah representasi software yang dapat diperkirakan demi kualitas sebelum dimulai pemunculan kode. Sebagaimana persyaratan, desain didokumentasikan dan menjadi bagian dari konfigurasi software.
4.      Generasi Kode
Desain harus diterjemahkan kedalam bentuk mesin yang bisa dibaca. Langkah pembuatan kode melakukan tugas ini. Jika desain dilakukan dengan cara yang lengkap, pembuatan kode dapat diselesaikan secara mekanis.
5.      Pengujian
Sekali program dibuat, pengujian program dimulai. Proses pengujian berfokus pada logika internal software, memastikan bahwa semua pernyataan sudah diuji, dan pada eksternal fungsional, yaitu mengarahkan pengujian untuk menemukan kesalahan – kesalahan dan memastikan bahwa input yang dibatasi akan memberikan hasil aktual yang sesuai dengan hasil yang dibutuhkan.
6.      Pemeliharaan Software akan mengalami perubahan setelah disampaikan kepada pelanggan (perkecualian yang mungkin adalah software yang dilekatkan). Perubahan akan terjadi karena kesalahan – kesalahan ditentukan, karena software harus disesuaikan untuk mengakomodasi perubahan – perubahan di dalam lingkungan eksternalnya (contohnya perubahan yang dibutuhkan sebagai akibat dari perangkat peripheral atau sistem operasi yang baru), atau karena pelanggan membutuhkan perkembangan fungsional atau unjuk kerja. Pemeliharaan software mengaplikasikan lagi setiap fase program sebelumnya dan tidak membuat yang baru lagi.
Gambar 2.1 Model SDLC
Masalah yang kadang terjadi ketika model SDLC diaplikasikan adalah :
1.      Jarang sekali proyek nyata mengikuti aliran sekuensial yang dianjurkan oleh model. Meskipun model linier bisa mengakomodasi iterasi, model ini melakukannya dengan cara tidak langsung. Sebagai hasilnya, perubahan – perubahan dapat menyebabkan keraguan pada saat tim proyek berjalan.
2.      Kadang – kadang sulit bagi pelanggan untuk menyatakan semua kebutuhannya secara eksplisit. Model linier sekuensial memerlukan hal ini dan mengalami kesulitan untuk mengakomodasi ketidakpastian natural yang ada pada bagian awal beberapa proyek.
3.      Pelanggan harus bersifat sabar. Sebuah versi kerja dari program – program kerja itu tidak akan diperoleh sampai akhir waktu proyek dilalui. Sebuah kesalahan besar, jika tidak terdeteksi sampai program yang bekerja tersebut dikaji ulang, bisa menjadi petaka.
4.      Pengembang sering melakukan penundan yang tidak perlu. Sifat alami dari siklus kehidupan klasik membawa kepada blocking state di mana banyak anggota tim proyek harus menunggu tim yang lain untuk melengkapi tugas yang saling memiliki ketergantungan. Blocking state cenderung menjadi lebih lazim pada awal dan akhir sebuah proses sekuensial linier.
Keunggulan dan Kelemahan Model SDLC
·         Keunggulan
1.         Mudah aplikasikan
2.      Memberikan template tentang metode analisis, desain, pengkodean, pengujian, dan pemeliharaan
·         Kelemahan
1.      Jarang sekali proyek riil mengikuti aliran sekuensial yang dianjurkan model karena model ini bisa melakukan itersi tidak langsung . Hal ini berakibat ada perubahan yang diragukan pada saat proyek berjalan.
2.      Pelanggan sulit untuk menyatakan kebutuhan secara eksplisit sehingga sulit untuk megakomodasi ketidakpastian pada saat awal proyek.
3.      Sebuah kesalahan jika tidak diketahui dari awal akan menjadi masalah besar karena harus mengulang dari awal.


5.      METODE INCREMENTAL
Model incremental (Incremental waterfall model) merupakan perbaikan dari  model waterfall dan sebagai standar pendekatan top-down. Ide dasar dari model ini adalah membangun software secara meningkat (increment) berdasarkan kemampuan fungsional. Model incremental ini diaplikasikan pada sistem pakar dengan penambahan rules yang mengakibatkan bertambahnya kemampuan fungsional sistem. Keuntungan dari model ini adalah bahwa penambahan kemampuan fungsional akan lebih mudah diuji, diverifikasi, dan divalidasi dan dapat menurunkan biaya yang dikeluarkan untuk memperbaiki sistem. Model incremental merupakan model continous rapid prototype dengan durasi yang diperpanjang hingga akhir proses pengembangan. Pada model prototipe biasa, prototipe hanya dibuat pada tahap awal untuk mendapatkan kebutuhan user.
  1. METODE SPIRAL
Model spiral (spiral model) adalah model proses software yang evolusioner yang merangkai sifat iteratif dari prototipe dengan cara kontrol dan aspek sistematis dari model sekuensial linier. Model ini berpotensi untuk pengembangan versi pertambahan software secara cepat. Di dalam model spiral, software dikembangkan di dalam suatu deretan pertambahan. Selama awal iterasi, rilis inkremental bisa merupakan sebuah model atau prototipe kertas. Selama iterasi berikutnya, sedikit demi sedikit dihasilkan versi sistem rekayasa yang lebih lengkap.
Model spiral dibagi menjadi sejumlah aktifitas kerangka kerja, disebut juga wilayah tugas, di antara tiga sampai enam wilayah tugas, yaitu : komunikasi pelanggan yang dibutuhkan untuk membangun komunikasi yang efektif di antara pengembangan dan pelanggan, perencanaan yang dibutuhkan untuk mendefinisikan sumber – sumber daya, ketepatan waktu, dan proyek informasi lain yang berhubungan, analisis risiko yang dibutuhkan untuk menperhitungkan resiko (manajemen maupun teknis), perekayasaan yang dibutuhkan untuk membangun satu atau lebih representasi dari aplikasi tersebut, konstruksi dan peluncuran yang dibutuhkan untuk mengkonstruksi dan menguji serta memasang (instal) dan memberikan pelayanan kepada user (contohnya pelatihan dan dokumentasi) dan bagian evaluasi user yang dibutuhkan untuk memperoleh umpan balik dari user dengan didasarkan pada evaluasi representasi software, yang dibuat selama masa perekayasaan, dan diimplementasikan selama masa pemasangan.
Dalam pengembangan sistem informasi berbasis web, model ini digunakan untuk menyelesaikan sistem secara global terlebih dahulu, kemudian untuk feature dari sistem akan dikembangkan kemudian. Dengan ini mempercepat dalam pengimplementasian project. dan hal ini cocok digunakan dalam sistem informasi Web.
Kekurangan model spiral adalah sulitnya untuk meyakinkan konsumen (khusunya dalam situasi kontrak) bahwa pendekatan evolusioner bisa dikontrol. Model spiral memerlukan keahlian penaksiran risiko yang msuk akal , dan sangat bertumpu pada keakhlian ini untuk mencapai keberhasilan. Jika resiko mayor tidak ditemukan dan diatur, pasti akan terjadi masalah. Akhirnya model itu sendiri masih baru dan belum dipergunakan secara luas seperti paradigma sekuensial dan prototipe.

Sumber :
https://www.scribd.com/doc/52693474/metode-pengembangan-sistem
http://www.academia.edu/10561240/Metode_Prototyping_Dalam_Pengembangan_Sistem_Informasi
https://www.scribd.com/doc/58298607/Pengertian-Prototype
http://rizalloa.ilearning.me/?p=132

Jumat, 14 April 2017

Interface

    Dalam Wikipedia Bahasa Indonesia, interface atau dalam istilah Indonesianya Antar Muka dapat diartikan sebagai sebuah titik, wilayah, atau permukaan di mana dua zat atau benda berbeda bertemu; dia juga digunakan secara metafora untuk perbatasan antara benda.

   Dalam hubungannya dengan perangkat lunak, interface dapat diartikan sebagai sarana atau medium atau sistem operasi yang digunakan untuk menghubungkan antara perangkat mikroprosesor agar dapat berkomunikasi dengan pengguna (user). Sedangkan pada konteks perangkat keras interface berarti komponen elektronika yang menghubungkan atau mengkomunikasikan prosesor dengan komponen atau perangkat lain dalam suatu sistem.

   Interface (antarmuka) adalah salah satu layanan yang disediakan system operasi sebagai sarana interaksi antara pengguna dengan system operasi. Antarmuka adalah komponen system operasi yang bersentuhan langsung dengan pengguna. Terdapat dua jenis antarmuka, yaitu Command Line Interface (CLI) dan Graphical User Interface (GUI).

  • Command Line Interface(CLI)

   CLI adalah tipe antarmuka dimana pengguna berinteraksi dengan sistem operasi melalui text-terminal. Pengguna menjalankan perintah dan program di sistem operasi tersebut dengan cara mengetikkan baris-baris tertentu.

    Meskipun konsepnya sama, tiap-tiap sistem operasi memiliki nama atau istilah yang berbeda untuk CLI-nya. UNIX memberi nama CLI-nya sebagai bash, ash, ksh, dan lain sebagainya. Microsoft Disk Operating System (MS-DOS) memberi nama command.com atau Command Prompt. Sedangkan pada Windows Vista, Microsoft menamakannya PowerShell. Pengguna Linux mengenal CLI pada Linux sebagai terminal, sedangkan pada Apple namanya adalah commandshell.

  • Graphical User Interface(GUI)

   GUI adalah tipe antarmuka yang digunakan oleh pengguna untuk berinteraksi dengan sistem operasi melalui gambar-gambar grafik, ikon, menu, dan menggunakan perangkat penunjuk ( pointing device) seperti mouse atau track ball. Elemen-elemen utama dari GUI bisa diringkas dalam konsep WIMP ( window, icon, menu, pointing device).

   Antarmuka pemakai (User Interface) merupakan mekanisme komunikasi antara pengguna (user) dengan sistem. Antarmuka pemakai (User Interface) dapat menerima informasi dari pengguna (user) dan memberikan informasi kepada pengguna (user) untuk membantu mengarahkan alur penelusuran masalah sampai ditemukan suatu solusi.

   User interface, berfungsi untuk menginputkan pengetahuan baru ke dalam basis pengetahuan sistem pakar (ES), menampilkan penjelasan sistem dan memberikan panduan pemakaian sistem secara menyeluruh step by step sehingga user mengerti apa yang akan dilakukan terhadap suatu sistem. Yang terpenting dalam membangun user interface adalah kemudahan dalam memakai/ menjalankan sistem, interaktif, komunikatif, sedangkan kesulitan dalam mengembangkan/ membangun suatu program jangan terlalu diperlihatkan.

Fitur Antar Muka Penguna Telematika Dalam Antar Muka Telematika terdapat 6 jenis fitur yaitu:
  1. Head Up Display System Merupakan sebuah tampilan transparan yang menampilkan data tanpa mengharuskan penggunaannya untuk melihat ke arah yang lain dari sudut pandang biasanya.
  2. Tangible User Interface Antarmuka dimana seseorang dapat berinteraksi dengan informasi digital lewat lingkungan fisik.
  3. Computer Vision Merupakan ilmu pengetahuan dan teknologi dari mesin yang melihat.
  4. Browsing Audio Data Browsing audio data adalah kemampuan mesin untuk mencari data dengan menggunakan input audio
  5. Speech Recognition Merupakan salah satu fitur antarmuka telematika yang merubah suara menjadi tulisan
  6. Speech Synthesis Merupakan hasil kecerdasan buatan dari pembicaraan manusia.

  Pada komputer sendiri interface mempunyai fungsi penting dalam menghubungkan mikroprosesor secara langsung dengan piranti yang ingin dijalankannya. Diperlukan suatu teknik untuk mengantarmukakan (interfacing) pemroses utama dengan piranti dari luar. Teknik ini dapat digunakan melalui :
  1. Perangkat Lunak, berupa program yakni suatu prosedur tertentu untuk menjalankan piranti. Dalam dunia computer program ini lebih dikenal dengan Driver/Installer. Adapula perangkat lunak yang dimasukkan kedalam perangkat keras yang disebut Firmware.
  2. Perangkat Keras, yakni berupa piranti khusus mulai dari serpih (IC) yang terintegrasi dalam sebuah papan induk (Chipsets-Onboard), berupa sebuah port atau bahkan terintergrasi kedalam papan yang ditancapkan pada system bus (Card).

sumber : 
- http://rahmanrobotic1508.blogspot.co.id/2013/03/definisi-interface-pada-komputer_460.html
- https://muhammadilhamx.wordpress.com/2016/02/18/antarmuka-pengguna-user-interface/

Sabtu, 01 April 2017

Interaksi Manusia dan Komputer



Interaksi Manusia dan Komputer

Hasil gambar untuk imk adalah
          Menurut saya IMK adalah ilmu yang mempelajari hubungan antara manusia dan komputer yang meliputi perancangan, evaluasi, dan implementasi antarmuka pengguna komputer agar mudah digunakan oleh manusia. Sedangkan interaksi manusia dan komputer sendiri adalah serangkaian proses, dialog dan kegiatan yang dilakukan oleh manusia untuk berinteraksi dengan komputer secara interaktif untuk melaksanakan dan menyelesaikan tugas yang diinginkan.
         IMK atau interaksi manusia dan komputer adalah suatu ilmu yang sangat berkaitan dengan disain implementasi dan evaluasi dari sistem komputasi iyang interaktif untuk digunakan oleh manusia dan studi tentang ruang lingkupnya,ada interaksi antara satu atau lebih manusia dan satu atau lebih komputasi mesin.
             Agar komputer dapat diterima secara luas dan digunakan secara efektif, maka perlu dirancang secara baik. Hal ini tidak berarti bahwa semua sistem harus dirancang agar dapat mengakomodasi semua orang, namun komputer perlu dirancang agar memenuhi dan mempunyai kemampuan sesuai dengan kebutuhan pengguna secara spesifik.
          Pada tahun 1970 mulai dikenal istilah antarmuka pengguna (user interface), yang juga dikenal dengan istilah Man-Machine Interface (MMI), dan mulai menjadi topik perhatian bagi peneliti dan perancang sistem. Perusahaan komputer mulai memikirkan aspek fisik dari antarmuka pengguna sebagai faktor penentu keberhasilan dalam pemasaran produknya.
      Istilah human-computer interaction (HCI) mulai muncul pertengahan tahun 1980-an sebagai bidang studi yang baru. Istilah HCI mengisyaratkan bahwa bidang studi ini mempunyai fokus yang lebih luas, tidak hanya sekedar perancangan antarmuka secara fisik.
       HCI didefinisikan sebagai disiplin ilmu yang berhubungan dengan perancangan, evaluasi, dan implementasi sistem komputer interaktif untuk digunakan oleh manusia dan studi tentang fenomena di sekitarnya. HCI pada prinsipnya membuat agar sistem dapat berdialog dengan penggunanya seramah mungkin (user friendly). Tidak hanya perancangan layout layar monitor. Dari sudut pandang pengguna merupakan keseluruhan sistem sehingga Useful, Usable, Used.
  • Manfaat Dari IMK 
       Adalah untuk menghasilkan sistem yang bermanfaat (usable) dan aman (safe), artinya sistem tersebut dapat berfungsi dengan baik. Sistem tersebut bisa untuk mengembangkan dan meningkatkan keamanan (safety), utilitas (utility), ketergunaan (usability), efektifitas (efectiveness) dan efisiensinya (eficiency). Sistem yang dimaksud konteksnya tidak hanya pada perangkat keras dan perangkat lunak, tetapi juga mencakup lingkungan secara keseluruhan, baik itu lingkungan organisasi masyarakat kerja atau lingkungan keluarga. Sedangkan Ketergunaan (usability) disini dimaksudkan bahwa sistem yang dibuat tersebut mudah digunakan dan mudah dipelajari baik secara individu ataupun kelompok. Utilitas mengacu kepada fungsionalitas sistem atau sistem tersebut dapat meningkatkan efektifitas dan efesiensi kerjanya.
  • Tujuan Interaksi Manusia Komputer
  1. Membuat sistem yang lebih dapat: Berguna (usable), fungsional, aman, produktif, efektif, dan efisien.
  2. Meningkatkan interaksi antara manusia dengan sistem komputer:
Sistem yang bermanfaat (usable) serta aman (safe), ialah sistem tersebut dapat berfungsi dengan baik. Sistem tersebut bisa juga untuk mengembangkan serta meningkatkan keamanan (safety), utilitas (utility), ketergunaan (usability), efektifitas (efectiveness) serta efisiensinya (eficiency).
Para perancang antarmuka manusia serta komputer berharap agar sistem komputer yang dirancangnya dapat bersifat akrab serta ramah dengan penggunanya (user friendly).

Sumber :
- http://uncuade.blogspot.co.id/2013/10/pengertian-dan-tujuan-pengertian.html
- http://www.g-excess.com/pengertian-dan-tujuan-imk.html

Sabtu, 21 Januari 2017

10 Besar keahlian dibidang IT

Pada zaman sekarang dimana teknologi sudah berkembang pesat, IT merupakan bidang dimana banyak peminat yang mencari lapangan pekerjaan. Beberapa keahlian pada bidang ini dibutuhkan untuk dapat ikut berkontribusi dalam lapangan pekerjaan mengenai komputer. Macam - macam keahlian itu saya rangkum menjadi beberapa, yaitu :

1. MOBILE APPS (MOBILISASI APLIKASI)

   Mobilitas mengubah gaya hidup orang. Sekarang, perangkat genggam seperti ponsel PDA dan smartphone menjadi alat bisnis yang penting. Maka dari itu, banyak perusahaan membutuhkan orang yang membutuhkan orang yang mampu memperluas penggunaan aplikasi seperti ERP atau procurement ke perangkat mobile. Inovasi dan kemajuan teknologi yang cepat pada kemampuan tablet dan smartphone telah pula meningkatkan penggunaannya oleh bisnis dan konsumen. Perusahaan dan lembaga pemerintahan pada berbagai ukuran pun mencari profesional IT dan developer yang dapat menangani kebutuhan yang muncul akibat penetrasi piranti mobile yang masif ini.
Mobile Skills: Android & iOS Application Development | Mobile Device Management | Mobile Security



2. NETWORKING (JARINGAN)

     Perkembangan standar teknologi nirkabel seperti Wi-Fi, WiMax, dan Bluetooth membuat keahlian mengamankan transmisi nirkabel berada di peringkat paling atas. Yang banyak dibutuhkan saat ini adalah administrator jaringan dengan spesialisasi di bidang wireless seseorang yang tahu bagaimana perangkat wireless bekerja di jaringan, bukan sekedar teknisi. Betapapun kebutuhan terhadap skill ini masih akan terus ada, tak peduli bagaimanapun kondisi ekonomi dan eksternal yang terjadi.
Hot Networking Skills: Cisco Network Administration | VOIP | Non-Virtual to Virtual Network Conversion


3. PROGRAMMING OPEN SOURCE
    Kemampuan programming Linux, Apache, MySql, dan PHP (atau bisa disingkat LAMP) bisa dibilang sangat diminati. Salah satu penyebabnya adalah ketidakpuasan costumer dan kekuatiran mereka terhadap masalah sekuriti, utamanya di wilayah system operasi dan database. 
   Perusahaan-perusahaan mereka akan mengembangkan sistem, aplikasi, dan meng-upgrade website yang sempat mereka tunda selama resesi yang lalu. Hal inilah yang mendorong kebutuhan akan tenaga-tenaga web developer, computer programmer dan software engineer kompeten untuk membantu mereka. 
     Kebutuhan untuk programmer dan pengembang juga bermunculan di berbagai daerah baru, ini juga disebabkan munculnya berbagai perangkat mobile dan munculnya Internet of Things. 
Programming Skills: Java | Java Enterprise Edition (J2EE) | .Net | PHP

4. PROJECT MANAGEMENT (MANAJEMEN PROYEK)
     Perusahaan membutuhkan calon-calon manajer proyek (project manager) yang bisa memimpin tim, membuat project life cycle yang masuk akal, dan mampu mengelola sebuah proyek. Salah satu pertanyaan yang sering dilontarkan saat wawancara kerja adalah bagaimana cara mengatasi konflik dalam tim.
    Sebenarnya ini bukan keahlian yang baru, tetapi perbedaannya dengan sekarang adalah cara kita melakukan perulangan berbagai proyek dan dengan eksekusi yang jauh lebih cepat. Jadi dibutuhkan sedikit kemahiran yang lebih dalam manajemen proyek dan orang-orang yang memiliki kenyamanan dan kecepatan dengan pendekatan seperti ini banyak dibutuhkan.
PM Skills: Systems Development | Business Analysis | Sertifikasi PMP

5. IT SECURITY (KEAMANAN TI)

   Sekarang, sudah jadi tren bahwa semua lowongan TI mensyaratkan keahlian dan sertifikat di bidang keamanan. Apapun bidang TI-nya, perusahaan mengharapkan pencari kerja memiliki pemahaman mengenal sisi sekuritinya.
    Kebutuhan terhadap spesialis IT Security (IT Risk) melonjak 10 poin dari survey tahun lalu menjadi 27%. Serangan-serangan cyber akan terus meningkat dari sisi lingkup maupun kompleksitasnya. Disamping itu risiko inheren yang terdapat pada penerapan teknologi baru juga semakin membuat kebutuhan terhadap kompetensi keamanan dan risiko TI ini menjadi pertimbangan utama bagi para eksekutif.
Security Skills: Enterprise & Military Enclave Security | Cloud & Virtual Security | Manajemen Risiko

6. ADMINISTRASTI DATABASE / DATACENTER

     Kebutuhan terhadap database administrator tetap tinggi, hal ini juga disebabkan karena kebutuhan yang terus meningkat dalam big data, BI dan analytics. Dalam suatu panduan gaji bidang teknologi dari suatu perusahaan riset teknologi menunjukkan bahwa database administrator adalah salah satu spesialisasi yang paling dibutuhkan, yang disebabkan karena banyaknya perusahaan yang menggunakan big data analytics untuk membantu menginformasikan keputusan bisnis dan mempercayakan hal ini pada personel khusus untuk mengelola dan menafsirka data mentah.      
    Prospek pekerjaan spesialis datacenter ini adalah salah satu yang terbaik, mengingat sejumlah perusahaan melaporkan kesenjangan skill yang signifikan di area ini, yang berarti akan terdapat lowongan pekerjaan yang lebih banyak lagi bagi para profesional di bidang ini untuk mengisinya.
Data Center Skills: Server/Data Center Operations | Systems Integration | Database Management

7. Help Desk & Technical Support

  Pertumbuhan organisasi mengakibatkan berkembangnya kebutuhan teknologi. Jadi ketrampilan ini tetap masih dalam daftar yang dibutuhkan, tetapi persaingan untuk ketrampilan juga ketat. Jadi untuk merekrut orang dengan ketrampilan ini, utamakan bahwa mereka dapat berkomunikasi dan memiliki keterampilan layanan pelanggan yang baik. Karena untuk kebutuhan terhadap ketrampilan ini, orang bisa dididik tentang keterampilan teknologinya, tetapi Anda akan sulit mengajarkan tentang kepribadian.
    Mengimplementasikan sistem baru akan berdampak pula pada kebutuhan teknisi help desk untuk menangani peningkatan volume permintaan layanan. Kebutuhan tenaga technical support ini akan semakin bertambah lagi pada 2013 seiring dengan kemungkinan akan berpindahnya banyak perusahaan ke Windows 7 sebelum siklus dukungan terhadap Windows XP berakhir di 2014.
Help Desk Skills: Mobile Device Support | Windows 7 Deployment | Skill Komunikasi Interpersonal

8. BUSINESS INTELLIGENCE 

  Pengembangan solusi-solusi dan storage berbasis cloud berarti organisasi dapat menangkap dan mengelola lebih banyak data dibanding sebelumnya. Para profesional IT dengan keahlian untuk menganalisis dan mentransformasi data ini ke dalam format business intelligence untuk mendukung pengambilan keputusan dan peningkatan kinerja yang lebih baik akan banyak dibutuhkan oleh perusahaan-perusahaan besar.
    Kebutuhan untuk profesional TI dengan keahlian ini cukup kuat, terutama dalam industri healthcare, asuransi, jasa keuangan dan ritel - industri dimana penggunaan BI dan analytics lebih matang daripada di sektor lain.
BI Skills: Big Data Analytics | Mathematics & Statistics Aptitude | Kecerdasan/Pemahaman Bisnis yang kuat

9. CLOUD & SaaS
  
  Ini merupakan pendatang baru dalam daftar kebutuhan kompetensi TI. Para ahli komputasi awan dan software as a service (SaaS) akan menikmat rekor kebutuhan terhadapnya di tahun mendatang, seiring dengan bisnis yang terus mengadopsi dan melebarkan solusi cloud-computing-nya untuk menekan biaya operasional. Sejumlah 25% dari eksekutif berencana untuk merekrut tenaga baru untuk area yang sedang cepat tumbuh ini. Sejumlah 43% perusahaan akan meningkatkan anggaran IT nya.
Cloud Skills: Cloud Architecture & Configuration | SaaS Agreement Negotiation | Cloud Security

10. DESIGN UI
       Bidang lain yang menjajikan adalah interaksi antara komputer dan manusia atau desain antarmuka (user interface), baik desain aplikasi web maupun desktop. Desainer antar-muka atau user interface designer merupakan pekerja yang punya keahlian untuk membuat program agar ramah pengguna.
Design UI Skills: Design skill 


Dan dari ke-10 keahlian diatas ada yang saya minati, yaitu :
 1. Networking (Jaringan)
         Karena, bagi saya jaringan lebih mudah dimengerti dan saya tertarik untuk mempelajarinya, meskipun lama lama setelah saya pelajari lebih dalam ternyata lebih rumit pada bagian analisa dan melakukan konfigurasi jaringan yang lebih luas, tapi tetap saya dapat memahaminya.
2. Programing Open-Source
       Selain jaringan saya punya hobby untuk 'meng-oprek' Linux, terutama untuk penggunaan robotika dan membuat prototype IoT seperti menggunakan raspberry, karena kita dapat memecahkan masalah yang sebelumnya rumit untuk dilakukan oleh manusia menjadi sesuatu yang otomatis dan efisien.

sumber : 
  • http://manajemen-ti.com/manajemen-kinerja-dan-sdm/243-10-keahlian-it-yang-paling-banyak-dicari-di-2013.html
  • https://beritati.blogspot.co.id/2015/12/prediksi-10-keahlian-bidang-it-terlaris.html