7 Alasan Mengapa Software Engineering Penting

Pada artikel kali ini,kita akan membahas mengenai alasan yang membuat software engineering itu penting. Pada umumnya, bidang ilmu software engineering digunakan dan diadopsi secara luas oleh berbagai perusahaan besar. Namun demikian pertanyaannya adalah apakah bidang ilmu ini hanya dapat digunakan oleh perusahaan besar? bagaimana jika anda adalah seorang programmer full-stack, single fighter developer atau bahkan sebuah start-up company dengan skala small-medium. Apakah anda membutuhkan pendekatan software-engineering di dalam pengembangan perangkat lunak? bukankah itu hanya membuang-buang waktu dan biaya? Mungkin dalam beberapa kondisi, anda bisa saja berpikir bahwa anda tidak membutuhkan pendekatan software engineering dalam membangun sebuah sistem dan mengasumsikan bahwa anda dapat membuat perangkat lunak dengan sangat mudah dalam waktu yang sangat singkat. Pada praktiknya, sebenarnya pendekatan apapun yang anda lakukan demi tercapainya tujuan boleh-boleh saja dilakukan. Bisa saja anda menggunakan pendekatan-pendekatan engineering lainnya dalam pembuatan perangkat lunak seperti misalnya menggunakan kanban system yang biasa digunakan pada proses manufaktur teknologi otomotif. Dalam beberapa mini-program pendekatan seperti ini mungkin sah-sah saja bahkan dalam beberapa kondisi, hal ini dapat membuat biaya produksi lebih minim dan waktu pengerjaan lebih singkat. Namun bagaimana jika suatu ketika anda mendapatkan sebuah projek yang harus dibangun dengan berjuta-juta kode program dan memiliki fitur yang begitu banyak. Apakah pendekatan-pendekatan engineering non-software engineering masih bisa menghandlenya? Jikapun mungkin, apakah pendekatan-pendekatan itu cukup reliable? Mari kita coba lihat dalam ilustrasi yang lebih sederhana, Bayangkan anda adalah seorang kontraktor dinas perhubungan daerah, dimana anda mendapatkan projek untuk membangun sebuah jalan tol yang menghubungkan dua kota sejauh 50Km. Tentunya terdapat banyak aspek yang harus anda penuhi dalam mensukseskan projek tersebut baik secara teknis maupun non-teknis. Tentunya anda tidak mungkin langsung membeli aspal dan membuat jalan bukan?. Hal pertama yang harus anda lakukan adalah melakukan perencanaan, berkoordinasi dengan stakeholder dan tim serta menguji hasil pekerjaan tersebut untuk menjamin tercapainya standar kualitas yang berlaku. Konsep pemikiran ini sama halnya dengan membuat sebuah perangkat lunak. Bagi para raksasa IT seperti Google, Microsoft, Facebook dan IBM, tentunya dalam membuat perangkat lunak anda harus membuat perencanaan yang matang, koordinasi antar tim dan stakeholder, menguji dan merawat perangkat lunak. Semua hal ini mungkin sekali dapat dilakukan dengan penerapan software engineering dalam setiap pekerjaan pengembangan. Jika anda terbiasa dengan pemikiran ini, maka membuat software baik skala kecil, menengah dan besar bukanlah suatu permasalahan untuk anda. Karena jika dikerjakan dengan teliti dan terstruktur perangkat besar pun akan dengan sangat mudah bisa diselesaikan. Marco Maiocchi dari University of Milan dalam jurnal Future Generation Computer Systems volume 7, menjelaskan bahwa setidaknya terdapat beberapa alasan mengapa software engineering itu sangat penting, diantaranya adalah: 1. Mengurangi Kompleksitas Software dengan skala besar dan kompleks sangat sulit untuk dikembangkan. Untuk mengatasi hal ini, Software Engineering dapat diterapkan sebagai sebuah solusi untuk mengurangi kompleksitas dari setiap projek dengan cara membagi sekumpulan masalah besar menjadi beberapa masalah yang lebih kecil. Dengan demikian, masalah-masalah dapat diselesaikan dengan solusi-solusi yang dikerjakan satu persatu. Dengan teknik ini setiap permasalahan kecil dapat diselesaikan secara independen satu sama lain. Pada akhirnya, setiap masalah yang telah berhasil diselesaikan akan dikombinasikan satu sama lain untuk menghasilkan sebuah solusi akhir. Teknik ini disebut Problem Decomposition. Fokus dari teknik ini adalah memfokuskan penyelesaian masalah pada masalah yang paling relevan untuk diselesaikan saat ini dengan cara mengabaikan masalah-masalah yang dianggap tidak relevan. Dengan pola pikir ini, diharapkan masalah-masalah besar dapat diselesaikan dengan lebih mudah. 2. Untuk meminimalisir biaya perangkat lunak Perangkat lunak membutuhkan banyak sekali kerja keras dan disisi lain seorang software engineer merupakan tenaga ahli dengan biaya yang mahal. Kebanyakan orang berfokus untuk membangun perangkat lunak dengan jutaan baris kode program. Namun di dalam software engineering, programmer harus merencanakan semuanya dan mereduksi segala hal yang dianggap tidak penting. Hasilnya, biaya produksi dari pengembangan perangkat lunak menjadi dapat dikurangi dibandingkan pengembangan perangkat lunak lainnya yang tidak menggunakan pendekatan software engineering. 3. Untuk mengurangi waktu Segala yang tidak dibuat berdasarkan “Perencanaan” selalu menghabiskan waktu lebih banyak. Dan jika kita membuat sebuah software yang memiliki lingkup besar maka anda harus menjalankan banyak kode program untuk membuat kode dapat berjalan dengan maksimal. Hal ini sangat menghabiskan waktu. Jika tidak ditangani dengan manajemen yang baik maka hal ini malah akan menghabiskan banyak waktu. 4. Mampu Menangani Projek Besar Projek besar tidak dibuat hanya dalam beberapa hari, dibutuhkan kesabaran, perencanaan dan manajemen untuk menjamin tercapainya tujuan. Andaikata terdapat sebuah projek yang harus diselesaikan dalam jangka waktu 5 tahun, dan terdapat 40 tugas yang harus dikerjakan dan dalam satu semester perusahaan harus menyelesaikan setidaknya 4 tugas. Maka perusahaan juga harus memiliki komitmen agar jangan sampai dalam satu semester ternyata tugas yang hanya bisa diselesaikan 1 dari 4 tugas yang harusnya selesai. Oleh sebab itu untuk dapat sesuai dengan waktu yang ditentukan dibutuhkan perencanaan, arahan, pengujian dan proses maintenance yang dijalankan dengan disiplin. 5. Menjamin Kehandalan Perangkat Lunak Software harus handal, handal berarti software yang dibangun haruslah bekerja sesuai dengan waktu yang telah ditetapkan. Dan jika terdapat kesalahan dalam pembuatan software maka perusahaan harus menyelesaikan permasalahan-permasalahan tersebut. Di dalam software engineering, terdapat teknik testing dan maintenance yang harus dilakukan untuk menjamin kehandalan perangkat lunak. 6. Menjamin Efektifitas Efektifitas akan terjadi jika perangkat lunak telah berhasil dibangun berdasarkan sebuah standar yang berlaku. Di dalam software engineering terdapat berbagai standar yang dapat dijadikan acuan dalam pembangunan sebuah software yang efektif seperti ISO 3535:1977 tentang desain formulir dan bagan, ISO 5806/1984 tentang tabel dan information processing, ISO 5807:1985 tentang dokumentasi dan konvensi data, dan lain-lain. 7. Produktivitas Dengan bantuan software engineering, setiap perusahaan dapat meningkatkan produktivitas. Setiap projek dapat dikurangi biayanya dan menghabiskan waktu pengerjaan yang lebih sedikit. Di dalam software engineering, produktivitas software dapat dihasilkan karena adanya sistem pengujian di dalam setiap bagian terkecil suatu proses. Jika tidak lolos uji, maka seorang developer harus memperbaikinya hingga akhirnya mencapai suatu standar yang berlaku.   Belajar terkait perangkat lunak, MENARIK kan ? Nah, Program Studi S1 Rekayasa Perangkat Lunak (S1 Software Engineering) ST3 Telkom Purwokerto menyelenggarakan matakuliah-matakuliah terkini dan terkait dengan dunia Rekayasa Perangkat Lunak yang sangat menarik. Pada matakuliah tersebut kita langsung belajar best practices seperti proses, tools, teknik, dan bidang pengetahuan yang dibutuhkan untuk ilmu rekayasa

Read More

Big Data dalam Dunia Software Engineering

Tahukah kamu ?   Big data adalah istilah yang menggambarkan volume data yang besar, baik data yang terstruktur maupun data yang tidak terstruktur. Pada era digital sekarang ini dapat dikatakan bahwa “data is new gold”. Maksudnya adalah data telah menjadi bagian yang sangat penting bagi peradaban manusia seperti halnya minyak bumi yang telah mendapat julukan black gold. Sebab dalam menjalankan aktifitas sehari-hari, manusia tidak lepas dari data. Hal ini bisa dilihat dari banyaknya jumlah manusia yang update status di facebook dan twitter tiap menit atau berapa jumlah transaksi yang dilakukan oleh start up digital seperti tokopedia atau bukalapak perhari. Industri atau organisasi manapun yang mengusai emas, dapat dipastikan kekayaan dan kekuasaan ada ditangannya. Begitu juga halnya dengan data. Namun demikian, seperti halnya emas, data mesti digali, diproses dan dianalisa dengan serentetan teknologi tertentu demi mendapatkan nilai yang berharga dari lautan data pada era digital sekarang ini. Lautan data tersebut kemudian dikenal dengan istilah Big Data, kumpulan data yang begitu besar dan kompleks yang tak memungkinkan lagi untuk dikelola dengan tools software tradisional.   Tertarik dengan tools software pengelola big data? Nah, Program Studi S1 Rekayasa Perangkat Lunak (S1 Software Engineering) ST3 Telkom Purwokerto juga menyelenggarakan matakuliah untuk Big data. Pada kuliah ini kita akan diajarkan menggunakan perangkat lunak untuk melakukan proses pengolahan, penyimpanan dan analisis data dalam beragam bentuk atau format. Ini akan jadi bekal berharga Anda untuk menekuni karir sebagai Software Engineer dan/atau Technopreneur.  

Read More

Kecerdasan Buatan dalam Dunia Software Engineering

Tahukah kamu? Taukah apa itu kecerdasan? Kecerdasan merupakan istilah yang digunakan untuk menjelaskan sifat pikiran makhluk hidup seperti contoh kemampuan menalar, memecahkan masalah, berfikir semu dan lain sebagainya. Lalu bagaimana apabila sebuah istilah atau metode kecerdasan dapat kita terapkan pada aplikasi rekayasa perangkat lunak? Tentu saja aplikasi rekayasa perangkat lunak tersebut akan menjadi seperti makhluk hidup yang dapat berfikir dan akan menghasilkan perangkat lunak yang dapat membantu pekerjaan manusia sehari-hari. Saat ini, penggunaan metode kecerdasan sudah banyak digunakan dalam aplikasi rekayasa perangkat lunak dan menghasilkan program-program yang berguna dalam bidang ekonomi, kesehatan, video game, bahkan dalam bidang militer sekalipun. Sebagai contoh, aplikasi pada kesehatan untuk mendiagnosa penyakit suatu pasien, dengan menggunakan parameter keluhan dan tanda-tanda gejala dari pasien, suatu aplikasi rekayasa perangkat lunak yang telah diberikan metode kecerdasan dapat mengetahui jenis penyakit yang sedang pasien alami. Sehingga membuat seolah-olah aplikasi rekayasa perangkat lunak tersebut adalah seorang pemeriksa dan atau dokter. Belajar terkait perangkat lunak, MENARIK kan ? Nah, Program Studi S1 Rekayasa Perangkat Lunak (S1 Software Engineering) ST3 Telkom Purwokerto juga menyelenggarakan matakuliah-matakuliah terkini dan terkait dengan dunia Kecerdasan Buatan Rekayasa Perangkat Lunak. Pada matakuliah tersebut kita langsung belajar best practices seperti proses, tools, teknik, dan bidang pengetahuan yang dibutuhkan untuk ilmu kecerdasan buatan rekayasa perangkat lunak. Ini akan jadi bekal berharga Anda untuk menekuni karir sebagai Software Engineer dan/atau Technopreneur.

Read More

Mitos Software Engineering dalam Proyek Pengembangan Perangkat Lunak dari Sisi Pengembang

Pada masa-masa awal pengembangan perangkat lunak, pemrograman dipandang sebagai seni, namun kini pengembangan perangkat lunak secara bertahap menjadi disiplin teknik. Namun, pengembang masih percaya pada beberapa mitos. Beberapa mitos pengembang umumnya seperti pernyataan bahwa pengembangan perangkat lunak dianggap lengkap saat kode dikirimkan. Faktanya, 50% sampai 70% dari semua upaya dikeluarkan setelah perangkat lunak dikirim ke pengguna.   Mitos lainnya, sebagai contoh, keberhasilan sebuah proyek perangkat lunak bergantung pada kualitas produk yang dihasilkan. Faktanya, kualitas program bukan satu-satunya faktor yang membuat proyek berhasil, namun dokumentasi dan konfigurasi perangkat lunak juga berperan penting. Selain itu, ada juga yang beranggapan bahwa rekayasa perangkat lunak tidak memerlukan dokumentasi, hal ini dapat memperlambat proyek. Faktanya, rekayasa perangkat lunak harus mengutamakan kualitas pada setiap tingkat proyek perangkat lunak. Dokumentasi yang tepat akan meningkatkan kualitas sehingga mengurangi jumlah pengerjaan yang dilakukan berulang-ulang.   Anggapan lainnya seperti satu-satunya produk yang dikirimkan setelah selesainya proyek adalah program kerja. Faktanya, capaian keberhasilan proyek mencakup tidak hanya program kerja tetapi juga dokumentasi untuk membimbing pengguna dalam menggunakan perangkat lunak.   Pernyataan yang sering terjadi seperti kualitas perangkat lunak hanya bisa dinilai setelah program dijalankan. Faktanya, kualitas perangkat lunak dapat diukur selama tahap proses pengembangan dengan menerapkan beberapa mekanisme penjaminan kualitas. Salah satu mekanisme tersebut adalah formal technical review (FTR) yang dapat digunakan secara efektif selama setiap tahap pengembangan, untuk menemukan kesalahan tertentu.   Belajar terkait perangkat lunak, MENARIK kan ? Nah, Program Studi S1 Rekayasa Perangkat Lunak (S1 Software Engineering) ST3 Telkom Purwokerto menyelenggarakan matakuliah-matakuliah terkait Rekayasa Kebutuhan Perangkat Lunak yang sangat menarik. Pada matakuliah tersebut kita langsung belajar best practices seperti proses, tools, teknik, dan bidang pengetahuan yang dibutuhkan untuk ilmu rekayasa perangkat lunak. Ini akan jadi bekal berharga Anda untuk menekuni karir sebagai Software Engineer dan/atau Technopreneur.    

Read More

Mitos Software Engineering dalam Proyek Pengembangan Perangkat Lunak dari Sisi Pengguna

Tahukah kamu?   Dalam kebanyakan kasus, pengguna cenderung percaya mitos tentang perangkat lunak karena manajer dan pengembang perangkat lunak tidak mencoba untuk memperbaiki kepercayaan yang salah kaprah. Mitos ini mengarah pada harapan palsu dan pada akhirnya menimbulkan ketidakpuasan di kalangan pengguna.   Mitos pengguna tersebut, sebagai contoh, persyaratan singkat yang tercantum dalam proses awal sudah cukup untuk memulai pengembangan (develop), kemudian untuk persyaratan yang lebih rinci dapat ditambahkan pada tahap selanjutnya. Faktanya, memulai pengembangan dengan persyaratan yang tidak lengkap dan ambigu sering menyebabkan kegagalan perangkat lunak (software failure). Sebagai gantinya, deskripsi persyaratan yang lengkap dan formal sangat penting sebelum memulai pengembangan. Menambahkan persyaratan pada tahap selanjutnya seringkali membutuhkan proses pengulangan terhadap keseluruhan proses pengembangan. Mitos pengguna yang terjadi di lain hal, contohnya, perangkat lunak itu fleksibel maka perubahan kebutuhan perangkat lunak dapat ditambahkan selama tahap proses pengembangan. Faktanya, memasukkan permintaan perubahan (change requests) di awal dapat menekan biaya terhadap proses pengembangan lebih rendah daripada yang terjadi pada tahap selanjutnya. Ini karena menggabungkan perubahan nantinya mungkin memerlukan perancangan ulang dan sumber daya tambahan.   Belajar terkait perangkat lunak, MENARIK kan ? Nah, Program Studi S1 Rekayasa Perangkat Lunak (S1 Software Engineering) ST3 Telkom Purwokerto juga menyelenggarakan matakuliah Rekayasa Kebutuhan Perangkat Lunak. Pada mata kuliah ini kita memperkenalkan proses, tools, teknik, dan bidang pengetahuan yang dibutuhkan untuk identifikasi dan mengelola kebutuhan perangkat lunak dengan sukses. Ini akan jadi bekal berharga Anda untuk menekuni karir sebagai Software Engineer dan/atau Technopreneur.

Read More

Apa itu Rekayasa Perangkat Lunak?

Selama 50 tahun terakhir telah terjadi kemajuan revolusioner di bidang teknologi, yang mengarah pada perbaikan kinerja perangkat keras dan perubahan besar dalam arsitektur komputasi. Kemajuan ini telah menyebabkan produksi sistem berbasis komputer yang kompleks yang mampu memberikan informasi dalam berbagai format. One option is to use data recovery how to recover files deleted by antivirus software specifically designed for USB drives. Meningkatnya daya komputer telah membuat aplikasi komputer yang tidak realistis menjadi proposisi yang layak, menandai asal mula era di mana produk perangkat lunak jauh lebih kompleks dibandingkan sebelumnya. As a female reader, recovering a file on powerpoint 2011 I appreciate the simplicity and clarity of the article. Dengan mempelajari dan mempraktikan ilmu rekayasa perangkat lunak (software engineering), sistem kompleks ini dapat dikembangkan secara sistematis dan efisien. Menurut IEEE, rekayasa perangkat lunak didefinisikan sebagai penerapan pendekatan sistematis, disiplin, dapat diukur terhadap pengembangan, operasi, dan pemeliharaan perangkat lunak; Artinya, penerapan teknik yang dilakukan untuk perangkat lunak. Rekayasa perangkat lunak dapat didefinisikan sebagai pendekatan sistematis untuk mengembangkan perangkat lunak dalam waktu dan anggaran yang ditentukan.   Rekayasa perangkat lunak adalah disiplin teknologi yang menggabungkan konsep ilmu komputer, ekonomi, kemampuan komunikasi, dan ilmu manajemen dengan pendekatan pemecahan masalah dari teknik. Ini juga melibatkan pendekatan terstandar untuk pengembangan program, baik dalam aspek manajerial maupun teknisnya.   Pengetahuan mendalam tentang ilmu komputer baik teoritis maupun praktis merupakan dasar rekayasa perangkat lunak. Pengetahuan teoritis memberikan pemahaman tentang masalah mana yang dapat diatasi, struktur data dan algoritma apa yang sesuai, kapan dan bagaimana penggunaannya, dan lain sebagainya. Di sisi lain, pengetahuan praktis memberikan pemahaman tentang bagaimana fungsi perangkat keras, bagaimana memanfaatkan kekuatan bahasa pemrogramanan dan tools terkait saat mengembangkan perangkat lunak, dan lain-lain.   Salah satu tujuan utama rekayasa perangkat lunak adalah membantu pengembang mendapatkan perangkat lunak berkualitas tinggi. Kualitas ini dicapai melalui penggunaan Total Quality Management (TQM), yang memungkinkan proses perbaikan secara terus-menerus yang mengarah pada pendekatan pengembangan yang lebih mapan terhadap rekayasa perangkat lunak.   Rekayasa perangkat lunak adalah pendekatan yang sistematis terhadap pengembangan, pengoperasian, pemeliharaan dan pengakhiran (retirement) perangkat lunak. Rekayasa Perangkat Lunak merupakan penerapan sains dan matematika dimana kemampuan peralatan komputer berguna bagi manusia melalui program komputer, prosedur, dan dokumentasi terkait.   Tujuan dasar rekayasa perangkat lunak adalah untuk mengembangkan metode dan prosedur pengembangan perangkat lunak yang dapat meningkatkan sistem yang besar dan dapat digunakan secara konsisten untuk menghasilkan perangkat lunak berkualitas tinggi dengan biaya rendah dan dengan siklus waktu yang kecil.

Read More

Mitos Software Engineering dalam Proyek Pengembangan Perangkat Lunak

Pengembangan perangkat lunak membutuhkan dedikasi dan pemahaman pada bagian pengembang. Banyak masalah perangkat lunak muncul karena mitos yang terbentuk pada tahap awal pengembangan perangkat lunak. Tidak seperti cerita rakyat kuno yang sering memberikan pelajaran berharga, mitos perangkat lunak menyebarkan kepercayaan palsu dan kebingungan di benak manajemen, pengguna dan pengembang. Manajer, seorang yang memiliki tanggung jawab pengembangan perangkat lunak, sering mengalami tegangan dan tekanan untuk mempertahankan anggaran pengembangan perangkat lunak, batasan waktu, peningkatan kualitas, dan banyak pertimbangan lainnya. Mitos yang terjadi pada level manajemen umumnya seperti pada anggota sebuah organisasi yang dapat memperoleh semua informasi, bisa mereka ambil dari sebuah buku manual, yang berisi standar, prosedur, dan prinsip. Padahal kenyataannya standar tersebut sering tidak lengkap, tidak dapat disesuaikan, dan ketinggalan jaman. Selain itu juga pengembang yang bersangkutan sering tidak menyadari semua standar yang telah ditetapkan. Pengembang jarang mengikuti semua standar yang diketahui karena tidak semua standar dapat mengurangi waktu pengiriman perangkat lunak bersamaan dengan mempertahankan kualitasnya. Mitos lainnya yang terjadi pada level manajemen adalah jika proyek tertinggal atau melebihi dari waktu yang ditentukan maka dengan meningkatkan jumlah pemrogram (programmer) dapat mengurangi kesenjangan waktu. Faktanya, menambahkan lebih banyak tenaga kerja ke proyek yang sudah ketinggalan jadwal dapat menunda proyek lebih lanjut. Hal ini dikarenakan pekerja baru membutuhkan waktu lebih lama untuk belajar tentang proyek dibandingkan dengan mereka yang sudah mengerjakan proyek tersebut. Selain itu, pada level manajemen di suatu organisasi dalam pengambilan keputusan pengembangan perangkat lunak, juga masih ada yang beranggapan bahwa jika proyek diserahkan ke pihak ketiga (outsource), manajemen dapat bersantai dan membiarkan perusahaan lain mengembangkan perangkat lunak untuk mereka. Faktanya, perangkat lunak outsourcing ke pihak ketiga tidak membantu organisasi, sehingga membuat organisasi tidak kompeten dalam mengelola dan mengendalikan proyek perangkat lunak secara internal. Organisasi selalu menderita saat mengeluarkan sumber dayanya dalam proyek perangkat lunak. Belajar terkait perangkat lunak, MENARIK kan ? Nah, Program Studi S1 Rekayasa Perangkat Lunak (S1 Software Engineering) ST3 Telkom Purwokerto juga menyelenggarakan matakuliah Manajemen Proyek Perangkat Lunak. Pada mata kuliah ini kita memperkenalkan proses, tools, teknik, dan bidang pengetahuan yang dibutuhkan untuk mengelola proyek perangkat lunak dengan sukses. Mata kuliah ini juga memperkenalkan bagaimana mempersiapkan sebuah organisasi untuk melakukan perubahan dan menerapkan beberapa teknik untuk mengatasi konflik dan perlawanan dengan cara yang efisien dan efektif. Ini akan jadi bekal berharga Anda untuk menekuni karir sebagai Software Engineer dan/atau Technopreneur.

Read More

Mitos Software Engineering Pada Konteks Konstruksi dan Pemeliharaan

Taukah Kamu? Sebagian besar orang beranggapan bahwa sebuah proyek perangkat lunak yang dikelola dengan baik pasti melakukan pengembangan dengan cara yang teratur dan menentukan list tanggung jawab program dengan stabil. Perancangan perangkat lunak mengikuti kebutuhan dan hal tersebut dilakukan dengan hati-hati agar pengkodean program perangkat lunak dapat berjalan secara linier, dari awal sampai akhir. Hal ini menyiratkan bahwa sebagian besar kode program perangkat lunak hanya dapat ditulis sekali, lalu diuji, dan dilupakan. Menurut mitos, kode tersebut dimodifikasi secara signifikan hanya saat selama fase pemeliharaan perangkat lunak, dimana fase ini merupakan sesuatu yang terjadi hanya setelah sistem versi awal telah disampaikan kepada pengguna. Dengan kata lain, ketika kode program perangkat lunak ditulis dan dapat dijalankan, pekerjaan kita selesai. Namun, realitanya adalah kode program perangkat lunak berkembang secara substansial mulai dari awal pengembangan. Selain itu, 60-80 persen dari keseluruhan pekerjaan dilakukan setelah perangkat lunak diberikan kepada pengguna untuk pertama kalinya. Banyak perubahan yang terjadi selama pengkodean sedari awal, setidaknya sama dramatisnya dengan perubahan yang terjadi selama pemeliharaan. Pengkodean, debugging, dan unit testing membutuhkan usaha antara 30 sampai 65 persen pada proyek, tergantung pada ukuran proyek. Jika pengkodean dan unit testing adalah proses yang mudah, hal tersebut mengkonsumsi tidak lebih dari 20-30 persen dari total usaha pada sebuah proyek. Bahkan pada proyek yang dikelola dengan baik, perubahan kebutuhan terjadi sekitar satu sampai empat persen dalam satu bulan (Jones, 2000). Perubahan kebutuhan selalu berdampak pada perubahan kode yang dituju dan terkadang bersifat substansial. Kebutuhan perangkat lunak memang akan terus berubah, namun dampak dari perubahan tersebut sangat bervariasi berdasarkan tahap dimana perubahan itu terjadi. Belajar terkait perangkat lunak, MENARIK kan ? Nah, Program Studi S1 Rekayasa Perangkat Lunak (S1 Software Engineering) ST3 Telkom Purwokerto juga menyelenggarakan matakuliah Konstruksi dan Pemeliharaan Perangkat Lunak. Pada mata kuliah ini kita dapat belajar teknik membangun kode sumber perangkat lunak dengan kualitas yang baik serta pemahaman yang baik tentang pemeliharaan perangkat lunak dan pengaruhnya pada semua tingkat proses evolusi perangkat lunak. Ini akan jadi bekal berharga untuk menekuni karir sebagai Software Engineer dan/atau Technopreneur.

Read More

Karakteristik Software Berkualitas

Tahukah kamu? Terdapat TIGA KARAKTERISTIK dari SOFTWARE BERKUALITAS seperti yang ditunjukkan pada Software Quality Triangle yaitu yaitu Karakteristik Operasional, Transisi, dan Revisi. Pada setiap karakteristik tersebut terdapat faktor-faktor yang menentukan kualitas perangkat lunak. Namun sebelum itu, yang pertama dan utama, perangkat lunak harus memenuhi kebutuhan pelanggan. Selain itu, biaya pengembangan dan pemeliharaan perangkat lunak harus rendah serta selesai pada waktu yang telah ditentukan. Berikut ini adalah karakteristik software berkualitas dan faktor-faktor penentu kualitasnya. 1. Karakteristik Operasional (Operational Characteristics) a. Correctness: sesuai spesifikasi kebutuhan pelanggan. b. Usability/Learnability: mudah digunakan. c. Integrity: tidak mempengaruhi jalannya/kinerja perangkat lunak yang lain. d. Reliability: tidak memiliki cacat/cela/kekurangan/kerusakan dan tidak gagal saat dieksekusi. e. Eficiency: terkait cara perangkat lunak menggunakan sumber daya seperti memanfaatkan ruang penyimpanan secara efektif dan menjalankan perintah sesuai kebutuhan waktu yang diinginkan. f. Security: data maupun perangkat keras tempat berjalannya perangkat lunak harus aman. g. Safety: tidak berbahaya bagi lingkungan maupun kehidupan. 2. Karakteristik Transisi (Transition Characteristics) a. Interoperabilty: perangkat lunak dapat bertukar informasi dengan perangkat lunak lain dan memanfaatkan informasi secara transparan. b. Reusability: kode-kode perangkat lunak dapat digunakan kembali untuk tujuan lain seperti membangun perangkat lunak lain. c. Portability: perangkat lunak dapat menjalankan fungsi sama baiknya pada berbagai linkungan dan platform (sistem operasi yang berbeda). 3. Karakteristik Revisi (Revision Characteristics) a. Maintainability: mudah dalam pemeliharaannya. b. Flexibilitas: perubahan dalam perangkat lunak mudah dilakukan. c. Extensibility: mudah menambahkan fungsionalitas/fitur perangkat lunak. d. Scalability: dapat diupgrade untuk menangani lebih banyak pekerjaan atau pengguna. e. Testability: mudah dalam pengujian. f. Modularity: jika perangkat lunak dapat dibagi menjadi bagian independen terpisah (unit atau modul) yang dapat dimodifikasi, diuji secara terpisah, perangkat lunak tersebut memiliki modularitas tinggi. To prevent accidental deletion of files from a flash drive, you can take some precautions such as enabling write protection recover excel 2010 file saved over on the flash drive, keeping backups of important files, and being cautious while deleting files. Tingkat kepentingan setiap faktor ini bervariasi untuk masing-masing perangkat lunak. Pada perangkat lunak yang mana kehidupan manusia dipertaruhkan, faktor Integrity dan Reliability menjadi sangat penting. Pada perangkat lunak yang terkait keperluan bisnis, Usability dan Maintainability adalah faktor utama yang dipertimbangkan. Perlu diingat bahwa dalam Rekayasa Perangkat Lunak, kualitas perangkat lunak adalah segalanya. Oleh karena itu, sangat penting untuk menghadirkan produk perangkat lunak yang memiliki semua karakteristik di atas. Program Studi S1 Rekayasa Perangkat Lunak (S1 Software Engineering) ST3 Telkom Purwokerto menyelenggarakan matakuliah Pengujian dan Penjaminan Kualitas Perangkat Lunak. Pada mata kuliah tersebut kita dapat belajar bagaimana melakukan pengujian dan memastikan perangkat lunak yang dihasilkan dalam proses pengembangan merupakan perangkat lunak yang berkualitas. There are recover excel 2010 file after crash many reputable options available, such as EaseUS Data Recovery Wizard, Recuva, or Disk Drill. Ini akan jadi bekal berharga untuk menekuni karir sebagai Software Engineer dan/atau Technopreneur.

Read More

Mitos Software Engineering

Mitos atau Fakta? . . . “Semakin banyak jumlah programmer dalam pengembangan perangkat lunak, semakin cepat waktu pengerjaannya” Seringkali dalam proses pengembangan perangkat lunak, terjadi keterlambatan dalam penyelesaian. Ada anggapan jika proyek terancam terlambat maka diperlukan penambahan jumlah programmer agar selesai lebih cepat. Apakah ini benar? Ternyata, dalam buku “The Mythical Man Month” karya Frederick Brooks (seorang software engineer dan ilmuwan komputer asal Amerika, yang dikenal melalui pengembangan komputer IBM / 360 dan paket dukungan perangkat lunaknya) disebutkan bahwa proyek perangkat lunak yang kompleks tidak dapat dibagi dengan sempurna menjadi tugas-tugas kecil tanpa komunikasi dengan pekerja dan tanpa membangun serangkaian hubungan timbal balik yang kompleks antara tugas dan pekerja yang melakukannya. Oleh karena itu, MENAMBAHKAN LEBIH BANYAK PROGRAMMER KE SEBUAH PROYEK YANG BERJALAN AKAN MEMBUATNYA SEMAKIN LAMA. Hal ini disebabkan karena waktu yang dibutuhkan programmer baru untuk belajar tentang proyek serta proses komunikasi yang berlangsung akan semakin menghabiskan jumlah waktu yang tersisa. Bahkan pada buku tersebut terdapat formula untuk menghitung jumlah saluran komunikasi yang akan dihasilkan jika ada penambahan pekerja baru, semakin tinggi nilainya maka proyek dimungkinkan selesai semakin lambat. Jadi anggapan yang sudah disebutkan pada awal paragraf, dapat dikatakan hanyalah MITOS. Pemahaman mengenai hal-hal semacam ini penting untuk diketahui oleh para software engineer ataupun praktisi di dunia pengembangan perangkat lunak agar tidak serampangan dalam menentukan strategi dalam proyek pengembangan perangkat lunak. Program Studi S1 Rekayasa Perangkat Lunak (S1 Software Engineering) ST3 Telkom Purwokerto memastikan dalam kurikulum perkuliahan, mahasiswa akan diberikan bekal yang cukup agar siap menjadi software engineer yang handal dan dapat merumuskan strategi yang tepat dalam pengembangan perangkat lunak.

Read More

Jl. D.I Panjaitan No. 128 Purwokerto 53147, Jawa Tengah – Indonesia

Telp: 0281-641629
Email Official: info@telkomuniversity.ac.id

Copyright ©2024 All Rights Reserved By Telkom University