Contoh Kernel: Kernel Monolitik, Mikrokernel, Kernel Hybrid, Nano Kernel, Exokernel.
c. Programming software
Jawab :
Software programming atau software pemrograman adalah perangkat lunak yang
menjadi sarana penulisan kode program (source code). Perangkat lunak ini merupakan
salah satu bentuk text editor yang memiliki fitur tambahan sebagai bentuk dukungan
dalam aktivitas pemrograman.
Contoh : Visual Studio Code, Notepad++, Sublime Text, Atom.
d. Application software
Jawab :
Application Software adalah jenis software yang dirancang untuk menyelesaikan tugas-
tugas spesifik dalam operating system. Beberapa dari tugas ini termasuk menangani
dokumen, menangani perhitungan, mengedit gambar, mengedit video, dan lainnya.
Contoh :
Microsoft Word: aplikasi pengolah kata
Adobe Photoshop: editor gambar.
Spotify: aplikasi untuk mendengarkan musik.
3. aktifitas modeling :
a. jelaskan secara singkat tentang proses modeling :
i. Flowchart / map flow
Flowchart atau bagan alur adalah diagram yang menampilkan langkah-langkah dan
keputusan untuk melakukan sebuah proses dari suatu program. Setiap langkah
digambarkan dalam bentuk diagram dan dihubungkan dengan garis atau arah panah.
ii. CD/DFD
DFD adalah suatu diagram yang menggambarkan aliran data dari sebuah proses yang
sering disebut dengan sistem informasi. Di dalam data flow diagram juga
menyediakan informasi mengenai input dan output dari tiap entitas dan proses itu
sendiri. kecenderungan diagram ini lebih cocok dipakai pada tahap desain. Melalui
diagram alir data, batasan ruang lingkup sistem akan terlihat sangat jelas, sehingga
pekerjaan pengembangan sistem akan lebih fokus untuk dilakukan.
iii. ERD
ERD (Entity Relationship Diagram) atau diagram hubungan entitas adalah diagram
yang digunakan untuk perancangan suatu database dan menunjukan relasi antar
objek atau entitas beserta atribut-atributnya secara detail.
Composite Diagram :
Diagram ini bila dikombinasikan dengan diagram penyebaran dapat digunakan
untuk menggambarkan distribusi fisik dari modul perangkat lunak melalui
jaringan. Misalnya, ketika merancang sistem client-server, hal ini berguna untuk
menunjukkan mana kelas atau paket kelas akan berada pada node klien dan
mana yang akan berada di server. Diagram komponen juga dapat berguna dalam
merancang dan mengembangkan sistem berbasis komponen. Karena berfokus
pada analisis sistem berorientasi objek dan desain.
Timing Diagram
Memperlihatkan interaksi ketika tujuan utama diagram adalah waktu.
Menggambarkan perubahan dalam state atau kondisi dari
pengelompokkaninstance atau tugas berlebihan. Biasanya dipakai untuk
memperlihatkan perubahan dalam state objectberlebihan dalam merespon ke
external events. Dipakai untuk memperlihatkan perilaku dari sebuah/ beberapa
object melaluiperiode waktu.
Interaction Overview Diagram
adalah pencangkokan secara bersama antara activity diagram dengan sequence
diagram. Interaction Overview Diagram dapat dianggap sebagai activity diagram
dimana semua aktivitas diganti dengan sedikit sequence diagram, atau bisa juga
dianggap sebagai sequence diagram yang dirincikan dengan notasi activity
diagram yang digunakan untuk menunjukkan aliran pengawasan.
4. Aktifitas Design :
a. Apa dan bagaimana yang dimaksud dengan desain thinking
Jawab :
Design thinking adalah serangkaian proses kognitif, strategis, dan praktis yang
berulang; digunakan untuk memecahkan masalah dan menciptakan solusi inovatif yang
tidak terpikirkan sebelumnya dengan berusaha memahami pengguna dan
kebutuhannya, tidak membuat asumsi, dan membuat definisi ulang permasalahannya.
Design thinking dikenal pula sebagai Business of Experience (BX). Pasalnya, design
thinking bisa menjadi jembatan antara kebutuhan bisnis dan pengembangan kapasitas.
Hasil dari penerapan design thinking yang diharapkan adalah solusi pembelajaran yang
efektif selaras dengan kebutuhan bisnis dan pengembangan kapasitas. Prinsip atau
elemen dari design thinking ini adalah mewujudkan dan menciptakan nilai-nilai baru
dalam perusahaan.
Adapun tahapan dalam design Thinking, yaitu sebagai berikut:
Empathize
Tahapan awal yang digunakan untuk mendapatkan pemahaman empati tentang
masalah yang dicoba untuk diselesaikan. Ini melibatkan para ahli konsultasi untuk
mencari tahu lebih banyak tentang bidang yang menjadi perhatian melalui
pengamatan, keterlibatan, dan empati dengan orang-orang untuk memahami
pengalaman dan motivasi mereka sehingga memperoleh pemahaman pribadi yang
lebih jelas tentang masalah yang terlibat.
Define
Pada tahap ini kita mengumpulkan informasi yang telah dibuat dan kumpulkan
selama tahap empathize. Kemudian informasi tersebut dianalisis, diamati dan
diolah untuk dapat mengidentifikasi masalah inti. Sehingga pada tahap ini kita
dapat melakukan pendefinisian terhadap suatu masalah
Ideate
Merupakan tahapan ketiga dari proses Design Thinking, dimana pada tahap ini
desainer siap untuk mulai menghasilkan ide-ide yang kreatif untuk menjawab
permasalahan pada tahap Define.
Prototype
Setelah memperoleh ide dari tahap Ideate melalui brainstorming, maka langkah
selanjutnya adalah mengidentifikasi solusi dan membuatnya ke dalam bentuk
prototipe akhir atau fitur baru dari produk. Prototype ini merupakan visualisasi dari
bentuk nyata solusi untuk permasalahan yang ada.
Testing
Pada tahapan terakhir, kita harus menguji secara langsung prototype yang telah kita
buat, apakah relevan dengan tujuan awal atau tidak.
5. Aktifitas Implementasi
a. Terangkan secara singkat tentang algoritma
Jawab :
Algoritma adalah proses atau serangkaian aturan yang harus diikuti dalam perhitungan
atau operasi pemecahan masalah lainnya, terutama oleh komputer. Dengan kata lain,
semua susunan logis yang diurutkan berdasarkan sistematika tertentu dan digunakan
untuk memecahkan suatu masalah.
b. Jelaskan Macam-macam paradigm bahasa programming
Jawab :
Paradigma Pemrograman Fungsional
Pemrograman jenis ini memiliki cara pandang dalam menyelesaikan suatu masalah
pemrograman sebagai suatu komposisi fungsi yang memetakan masalah ke
jawaban yang diinginkan. Jadi dasar pemecahan masalah adalah transformasional,
semua kelakuan program adalah suatu rantai transformasi dari sebuah keadaan
awal menuju ke suatu rantai keadaan akhir, yang mungkin melalui keadaan antara,
melalui aplikasi fungsi.
Contoh Bahasa pemrograman: LISP, Haskell, Scala, Scheme.
6. Aktifitas testing, apa yang dimaksud dengan alpha dan beta testing
Jawab :
Alpha Testing
Alpha testing merupakan salah satu jenis user acceptance testing yang dilakukan secara
terbatas. Pengujian ini dilakukan dalam ruang lingkup internal yang terbatas. Dalam alpha
testing, pengujian produk atau aplikasi dilakukan oleh staf internal pengembang saja. Tes ini
biasanya dilakukan untuk menemukan bug atau cacat produk yang sifatnya basic. Apakah
fungsi-fungsi dasar sudah berfungsi, semua itu dipastikan melalui pengujian ini.
Beta Testing
Beta testing merupakan metode untuk memeriksa dan mengesahkan suatu perangkat
lunak. Pengujian beta digunakan untuk menggambarkan proses pengujian eksternal dimana
perangkat lunak dapat digunakan untuk orang lain seperti pengguna yang mungkin
menggunakan perangkat lunak untuk kehidupan sehari-hari. Pengujian beta biasanya
berpengaruh pada tahap akhir pengembangan perangkat lunak dan biasanya menjadi suatu
pengesahan bahwa perangkat lunak sudah siap digunakan oleh pengguna. Tujuan dari
pengujian beta dapat beraneka ragam, seperti kesempatan media pers untuk memasukkan
dari pengguna untuk mengatasi bug dan kesalahan yang ada.
1. Waterfall
Waterfall adalah salah satu jenis model pengembangan aplikasi dan termasuk ke dalam
classic life cycle (siklus hidup klasik), yang mana menekankan pada fase yang berurutan dan
sistematis. Untuk model pengembangannya, dapat dianalogikan seperti air terjun, dimana setiap
tahap dikerjakan secara berurutan mulai dari atas hingga ke bawah.
b. Design
Tahap selanjutnya yaitu Desain. Desain dilakukan sebelum proses coding dimulai. Ini
bertujuan untuk memberikan gambaran lengkap tentang apa yang harus dikerjakan dan
bagaimana tampilan dari sebuah sistem yang diinginkan. Sehingga membantu
menspesifikasikan kebutuhan hardware dan sistem, juga mendefinisikan arsitektur sistem
yang akan dibuat secara keseluruhan.
c. Implementation
Proses penulisan code ada di tahap ini. Pembuatan software akan dipecah menjadi modul-
modul kecil yang nantinya akan digabungkan dalam tahap selanjutnya. Dalam tahap ini juga
akan dilakukan pemeriksaan lebih dalam terhadap modul yang sudah dibuat, apakah sudah
memenuhi fungsi yang diinginkan atau belum.
d. Integration & Testing
Pada tahap keempat ini akan dilakukan penggabungan modul-modul yang sudah dibuat
sebelumnya. Setelah itu akan dilakukan pengujian yang bertujuan untuk mengetahui apakah
software sudah sesuai desain yang diinginkan dan apakah masih ada kesalahan atau tidak.
e. Operation Maintenance
Operation & Maintenance adalah tahapan terakhir dari metode pengembangan waterfall. Di
sini software yang sudah jadi akan dijalankan atau dioperasikan oleh penggunanya.
2. Prototyping
Prototyping perangkat lunak adalah salah satu metode siklus hidup sistem yang didasarkan
pada konsep model bekerja (working model). Tujuannya adalah mengembangkan model
menjadi sistem final. Artinya sistem akan dikembangkan lebih cepat dari pada metode
tradisional dan biayanya menjadi lebih rendah. Ciri dari metode ini adalah pengembang dan
pelanggan dapat melihat dan melakukan pengerjaan dengan bagian dari sistem komputer dari
sejak awal proses pengembangan.
3. Spiral
Spiral Model adalah model proses pengembangan perangkat lunak berbasis risiko. Ini
adalah kombinasi dari model air terjun dan model iteratif. Model Spiral membantu mengadopsi
elemen pengembangan perangkat lunak dari berbagai model proses untuk proyek perangkat
lunak berdasarkan pola risiko unik yang memastikan proses pengembangan yang efisien.
Fungsi model spiral adalah untuk melakukan perubahan, penambahan dan pengembangan
perangkat lunak dengan memaksimalkan aspek kecepatan dan ketepatan berdasarkan keinginan
dan kebutuhan penggunanya.
e. Tahap Evaluasi
Pada tahap evaluasi, system analyst membutuhkan masukan dan tanggapan dari para user
dalam mengevaluasi perangkat/produk yang diuji dan memastikan bahwa produk
dibutuhkan sesuai ketentuan yang telah dibicarakan diawal dengan user. System analyst
memastikan pelanggan puas dengan produk yang akan dihasilkan untuk menjawab
persoalan bisnis mereka. Selain itu, system analyst harus tetap memantau resiko yang akan
terjadi seperti faktor-faktor yang dapat menyebabkan cost overrun (pembengkakan biaya).
Rapid application development (RAD) adalah metode yang berfokus pada pengembangan
aplikasi secara cepat, melalui pengulangan dan feedback berulang-ulang. Keuntungan utama
menjalankan rapid application development adalah jangka waktu pengembangan lebih cepat
karena feedback dari pelanggan cepat didapatkan dan semua perubahan yang dilakukan akan
sesuai hasil tersebut. Metode pengembangan aplikasi RAD sangatlah cocok diterapkan ketika
proyek pengembangan aplikasi/sistem yang diambil memiliki batasan waktu yang pendek.
Metode ini tidak menghabiskan banyak waktu di tahap perencanaan. Sebaliknya, proses
pengembangan aplikasi bisa berjalan fleksibel dan sesuai kebutuhan.
5. Iterative
Iteration process merupakan proses pengembangan perangkat lunak yang berfokus pada
kecepatan sehingga implementasi fitur dapat segera dilakukan tanpa harus menghabiskan
waktu lama atau menunggu hingga produk benar-benar sempurna. Proses berulang dimulai
dengan implementasi sederhana dari subset dari persyaratan perangkat lunak dan secara
berulang meningkatkan versi yang berkembang sampai sistem penuh diimplementasikan. Pada
setiap iterasi, modifikasi desain dibuat dan kemampuan fungsional baru ditambahkan. Ide dasar
di balik metode ini adalah untuk mengembangkan sistem melalui siklus berulang (berulang) dan
dalam porsi yang lebih kecil pada satu waktu (inkremental).
c. Construction
Construction merupakan tahap untuk mengimplementasikan hasil desain dan melakukan
pengujian hasil implementasi. Pada tahap awal construction, ada baiknya dilakukan
pemeriksaan ulang hasil analisis dan desain, terutama desain pada sequence diagram, class
diagram, component dan deployment. Apabila desain yang dibuat telah sesuai dengan
analisis sistem, maka implementasi dengan bahasa pemrogramanan tertentu dapat
dilakukan.
d. Transition
Transition merupakan tahap untuk menyerahkan sistem aplikasi kepada user (roll-out), yang
umumnya mencakup pelatihan dan beta testing aplikasi.
7. Extreme Programming
Extreme Programming (berikutnya akan disingkat sebagai XP) adalah sebuah pendekatan
atau model pengembangan perangkat lunak yang mencoba menyederhanakan berbagai
tahapan dalam proses pengembangan tersebut sehingga menjadi lebih adaptif dan fleksibel. XP
bukan hanya berfokus pada coding tetapi meliputi seluruh area pengembangan perangkat lunak.
XP mengambil pendekatan ‘ekstrim’ dalam iterative development.
8. Agile
Agile Software Development adalah metodologi pengembangan software yang didasarkan
pada proses pengerjaan yang dilakukan berulang dimana, aturan dan solusi yang disepakati
dilakukan dengan kolaborasi antar tiap tim secara terorganisir dan terstruktur. Agile artinya cara
pengembangan produk sebagai alternatif dari metode konvensional. Dengan kata lain,
pengertian agile adalah suatu terobosan atau pembaharuan terhadap alur kerja lama yang tidak
berkembang ketika melihat dinamika pasar. Berawal dari kekakuan model waterfall, metode
agile adalah cara efektif dalam memahami keinginan pasar.
1. Perencanaan
2. Implementasi
3. Tes perangkat lunak
4. Dokumentasi
5. Deployment
6. Pemeliharaan perangkat lunak
9. Scrum
Scrum adalah teknik bagian dari agile framework dalam perusahaan. Saat ini, scrum banyak
digunakan dalam pengembangan software. Tapi pada dasarnya metode tersebut bisa diterapkan
ke dalam segala upaya product atau project development. Proses kompleks dari project
management sebuah perusahaan seringkali menjadi penyebab munculnya hambatan baru
dalam operasionalisasi perusahaan. Metode seperti scrum bisa menjadi solusi pemecah masalah
tersebut. Metode scrum adalah rangkaian kegiatan untuk meminimalisir kesulitan saat
mengerjakan sebuah proyek. Contohnya, ketika suatu perusahaan menghadapi masalah, salah
satu solusi yang bisa dilakukan untuk mempermudah masalah tersebut adalah dengan
melakukan metode scrum.