TUGAS MATA KULIAH PEMROGRAMAN SISTEM
SOFTWARE TOOLS
Disusun Oleh ,
Hafiz Aditya
Muhammad Akbar
Natashya Nabilla Vachroniz
4KB03
ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS GUNADARMA
2018 / 2019
Pengertian Software Tools
Software adalah program komputer yang menjadi jembatan antara pengguna dengan
perangkat keras. Ia juga dapat didefinisikan sebagai sebuah aplikasi yang tersusun dari
sekumpulan kode-kode bahasa pemrograman. Menurut sumber lain, software merupakan
suatu data yang diprogram serta disimpan secara digital dan tidak berwujud, namun berada di
dalam komputer. Ada pula yang menyebutkan bahwa software ialah kumpulan data-
data elektronik berupa program atau instruksi yang disimpan dan dikelola oleh komputer.
Software sendiri dibuat oleh seorang programmer dengan bahasa pemrograman
tertentu yang selanjutnya dikompilasi hingga menjadi sebuah kode yang dapat dikenali oleh
hardware. Ia dibuat untuk memudahkan pekerjaan manusia, misalnya untuk menghitung,
membuat dokumen, mengolah gambar dan lain-lain.
Model Software
Pembagian Sofware secara garis besar, Software dapat dibedakan menjadi beberapa
bagian antara lain sebagai berikut :
a. Sistem Operasi
Merupakan salah satu software yang berfungsi untuk menghubungkan hardware dengan
software lainnya. Software ini berada pada lapisan pertama yang diletakkan pada memori
komputer yang melakukan operasi – operasi dasar pada system komputer.
Contoh-Contoh Sistem Operasi
Macintosh
Linux
Unix
Microsft Windows
b. Program Aplikasi (Siap Pakai) adalah suatu program yang ditulis dalam bahasa
pemrograman tertentu untuk diterapkan pada bidang tertentu. Program Aplikasi dibedakan
dalam beberapa jenis aplikasi antara lain sebagai berikut :
Pengolah kata (word processor), contohnya : Ms. Word, Word Star, Word Perfect
Pengolah angka (spread sheet), contohnya : Exel, Lotus, Quattro pro
Pengolah data (database), contohnya : Ms. Access, Dbase, Foxpro
Pengolah citra (drawing, contohnya : Adobe photoshop, Corel Draw, 3DStudio.
c. Program Bantu (Utility) adalah suatu program yang berfungsi untuk membantu sistem
operasi. Contoh-Contoh Program Bantu (Utility) :
Moxilla firefox
Anti Virus
Winamp
FLV Player
CCleaner
d. Penggunaan Bahasa Pemrograman atau biasa juga dikenal dengan bahasa komputer.
Bahasa pemprograman merupakan satu set instruksi atau perintah berupa sintaks dan
semantik untuk mendefenisikan program komputer. Ini merupakan software yang
berbentuk compiler atau juga bisa berbentuk interpreter. Software memungkinkan seorang
programer membuat aplikasi sesuai kebutuhan dan keinginannya, ataupun berguna untuk
menentukan data mana yang akan diproses komputer, apakah data tersebut akan disimpan
atau dirubah kembali serta langkah apa yang bisa diambil dalam berbagai situasi. Contoh-
Contoh Bahasa Pemrograman :
ASP
HTML
Visual Basic
Pascal
Java
Delphi
PHP
Jenis Software Tools
Jenis - Jenis Software - Software dibedakan dalam beberapa macam bagian yang
terdiri dari setiap jenis-jenis software berdasarkan dari bentuk, dan fungsinya. Jenis-jenis
software antara lain sebagai berikut :
a. Freeware adalah perangkat lunak gratis yang dapat digunakan tanpa dengan batasan
waktu. Freeware umumnya disumbangkan kepada komunitas-komunitas, namun
memiliki hak sebagai pengembang dan pengontrol dalam pengembangan aplikasi
selanjutnya. Freeware akan memberikan source kode (kode sumbernya) jika
pengembang aplikasi berhenti mengembang produk freeware kepada pengembang
lain atau mengumumkan freeware tersebut bebas untuk dikembangkan secara
bersama-sama.
b. Shareware adalah perangkat lunak uji coba yang diberikan secara gratis dengan
keterbatasan fitur-fitur tertentu seperi ketersediaan, fungsi, dan kenyaman yang tidak
dapat dimanfaatkan secara maksimal. Shareware merupakan perangkat lunak uji coba
yang bertujuan untuk memperkenalkan perangkat lunak tersebut dan sebagai strategi
marketing pengembangan aplikasi Shareware. Shareware disebut juga dengan
Trialware.
c. Firmware adalah aplikasi perangkat lunak yang tersimpan di ROM (Read Only
Memori). Firmware tidak dapat berubah walau tidak dialiri oleh listrik dan tidak dapat
diubah tempat penyimpananya di ROM tetapi dapat dimodifikasi bergantung dari
jenis ROM nya seperti EEPROM atau Flash ROM, masih dapat diubah sesuai dengan
kebutuhan.
d. Commercial Software adalah perangkat lunak untuk tujuan komersil yang dapat
dibeli kepada pendistribusi, pengembang software, atau kepada rekan pengembang
software. Pengguna yang membeli software tersebut tidak dapat menyebarluaskan
atau membagikan ulang software secra bebas dan tanpa ijin penerbitnya akan
diilegalkan. Contoh software berbayar (commercial software) adalah Corel Draw,
Adobe Photoshop, Microsoft Visual Basic NET. Commercial Software dilindungi
Undang-Undang Hak Cipta.
e. Free Software adalah perangkat lunak yang bebas untuk di utak atik baik itu bebas
digunakan, disalin, dimodifikasi dan diubah dengan beberapa keharusan yang dapat
dinikmati oleh pengguna-pengguna berikutnya. Dalam konsep kebebasan, setiap
orang dalam perangkat lunak bebas ini, dapat mengkomersialkan dan mengambil
keuntungan dari pendistribusian dan modifikasi kode sumbernya, serta dapat
menyebarkan luas secara gratis. Istilah free software diciptakan oleh Richard Stallman
dan Free Software Foundation (organisasi nirlaba dan merupakan sponsor utama dari
proyek GNU). Sekarang ini, perangkat lunak bebas tersedia secara gratis dan
dibangun atau dikembangkan oleh suatu komunitas terbuka. Menurut Richard
Stallman mengenai Pengertian Free Software adalah perihal kebebasan, bukan harga.
Untuk mengerti konsepnya, Anda harus memikirkan kata 'bebas' seperti dalam
"kebebasan berpendapat", bukan bebas' dalam arti "bir gratis".
f. Open Source Software adalah perangkat lunak yang kode sumbernya untuk diubah,
dipelajari, ditingkatkan, dan disebarluaskan karena sifat perangkat lunak sumber
terbuka adalah pengembangan oleh suatu komunitas atau kelompok yang terbuka
mengembangkan perangkat lunak sumber terbuka.
g. Malware adalah perangkat lunak yang diciptakan untuk merusak sistem komputer,
jejaring komputer tanpa izin dari pemiliknya. Malware disebut sebagai perangkat
perusak yang berasal dari kata Malicious dan Software. Istilah virus komputer
digunakan sebagai sebutan dalam jenis perangkat perusak. Jenis-jenis perangkat
perusak meliputi virus komputer, kuda troya (trojan horse), perangkat iklan (adware),
cacing komputer, rootkit, perangkat jahat (crimeware) dan perangkat lunak jahat
lainnya.
Teks Editor
Text Editor merupakan sebuah software aplikasi atau program komputer yang
memungkinkan penggunanya membuat, mengubah, atau mengedit file teks (plain text). Text
Editor umumnya hanya mempumyai fungsi untuk menulis kode program tanpa disertai
compiler yang terintegrasi. Text editor dapat digunakan untuk membuat program-program
komputer, mengedit source code bahasa pemograman, serta membuat halaman web atau
template web design dan pembuat aplikasi tertentu.
Didalam Text Editor biasannya terdapat fitur umum seperti syntax highlighting,
search, replace, memberikan komentar pada sebuah blok kode program, code folding, line
number, line marking, snippet, dan lainnya.
1. Notepad
Notepad merupakan Text Editor asli bawaan windows. Bagi pengguna sistem operasi
Windows past sudah terbiasa menggunakan aplikasi ini. Biasanya untuk pemula
direkomendasikan menggunakan Notepad ini. Karena memiliki tampilan yang sederhana dan
membuat mudah dalam menuliskan kode program.
2. Notepad++
Notepad++ hampir sama dengan Notepad bawaan Windows tapi memiliki fitur yang banyak
dibandingkan Notepad. Diantaranya memiliki syntax highlighting, syantax folding, user
defined syntax highlighting and folding, perl compatible regular expression search/replace,
customizable GUI, document map, auto completion, multi-language, enviroment supported,
bookmark, macro recording and playback, launch with different argument, multi editing,
column-mode editing, line number. Dan Notepad++ ini dapat berjalan disebagian besar
POXIX compatible OS termasuk linux, FreeBSD, MacOS-X, OpenBSD dan Solaris.
3. Sublime Text
Memiliki banyak fitur yang mempermudah pengguna dan eye cathing (tampilan menarik).
Sublime Text merupakan aplikasi berbayar tapi sobat bisa menggunakan versi demonya,
walaupun demo tapi tidak ada batasan dalam penggunaanya.
Memiliki semboyan The Text Editor You'll Fall in Love With.
4. GEdit
Bagi sobat pengguna Linux, khususnya Linux dengan dekstop Gnome memiliki Text Editor
bawaan GEdit. GEdit bisa digunakan untuk menuliskan berbagai macam bahasa
pemograman.
5. Atom
Memiliki semboyan Hackable Text Editor. Memiliki fitur unggulan web based tecnology
dekstop text editor, file system browser, fast project-wide search and replace, multiple
cursors and selections, multiple panes, snippets, code folding, a clean prefrences UI,
TextMate grammars importing, modulan design, nodejs integration.
6. UltraEdit
Dengan pengguna lebih dari 2 juta diseluruh dunia, krena Text Editor ini memiliki
keleluasaan dan kemudahan dalam penggunaan. Dapat digunakan untuk HTML, PHP,
JavaScrit, C, C++, Perl dan masih banyak lagi jenis bahasa pemograman.
Text editor ini mampu bekerja sebagai text editor sederhana atau hex editor. Tersedia untuk
sistem operasi Windows, Linux dan Mac.
7. EditPad
Sebuah text editor untuk menulis HTML atau menulis file batch maka Edit Pad bisa jadi
pilihan sobat. Beberapa fitur diantaranya sebagai berikut :
- Multi tabs, sobat bisa membuka tab banyak sekaligus
- Tidak ada batasan untuk ukuran file
8. Komodo Edit
Komodo Edit memliki kemampuan yang sangat bagus, gratis dan open source.
Memiliki fitur autocomplete, calltips, syntax coloring, syntax checking, Vi emulation dan
masih banyak lagi. Text Editor ini berjalan disemua platform seperti Linux, Mac dan
Windows. Komodo Edit mendukung besar sebagian besar bahasa pemograman seperti PHP,
Ruby, Perl, HTML, dan bahasa template seperti RHMTL, Django dan masih bnyak lagi.
9. TextPad
Didesain untuk memberikan peforma yang tinggi, dapat mengedit file besar hingga batas 32
bit virtual memory. Multi file dapat diedit secara bersamaan dan ada spell checker dengan
kosakata kamus dari 10 bahasa. Fitur lainnya seperti shift, block identation, transposing word
line dan fitur umumnya seperti cut, copy dan paste.
10. Bluefish
Merupakan Text Editor yang populer dan terbaik untuk development hingga saat ini.
Text Editor yang ringan ini mendukung bahasa HTML, XHMTL, CSS, XML, PHP, C,
JavaScript, Java, ColdFusion, JSP, Python, Ruby dan Shell.
Interpreter
Interpreter adalah Perangkat lunak yang mampu mengeksekusi code program (yang
ditulis oleh programmer) lalu menterjemahkannya ke dalam bahasa mesin, sehingga mesin
melakukan instruksi yang diminta oleh programmer tersebut. Perintah-perintah yang dibuat
oleh programmer tersebut dieksekusi baris demi baris, sambil mengikuti logika yang terdapat
di dalam kode tersebut.
Proses ini sangat berbeda dengan compiler, dimana pada compiler, hasilnya sudah
langsung berupa satu kesatuan perintah dalam bentuk bahasa mesin, dimana proses
penterjemahan dilaksanakan sebelum program tersebut dieksekusi.
Interpreter atau dalam bahasa Indonesia dikenal sebagai Juru Bahasa berbeda dengan
Translator atau penterjemah dalam segi media yang dipakai untuk menerjemahkan.
Interpreter akan menterjemahkan bahasa sumber ke dalam bahasa sasaran secara langsung
atau orally sementara translator akan menerjemahkan bahasa sumber ke bahasa sasaran
secara tertulis.
Debugging
Debugging adalah proses mendeteksi dan menghapus kesalahan dan potensi error
yang ada (disebut juga ‘bug’) dalam kode perangkat lunak yang dapat menyebabkannya
berperilaku tidak terduga (error) atau macet dan bahkan crash. Untuk mencegah
pengoperasian perangkat lunak atau sistem yang salah, debugging digunakan untuk
menemukan dan mengatasi bug atau kesalahan dalam program. Ketika berbagai subsistem
atau modul digabungkan dengan erat dan kompleks, debugging menjadi lebih sulit karena
setiap perubahan dalam satu modul dapat menyebabkan lebih banyak bug muncul di tempat
lain. Terkadang dibutuhkan lebih banyak waktu untuk melakukan debug program daripada
membuat kode programnya.
Proses Debug:
1. Mereproduksi masalah.
2. Jelaskan bugnya. Cobalah untuk mendapatkan masukan sebanyak-banyaknya dari
pengguna program untuk mendapatkan alasan yang spesifik dan jelas.
3. Tangkap snapshot program saat bug muncul. Cobalah untuk mendapatkan semua nilai
variabel dan keadaan program pada saat itu.
4. Menganalisis snapshot berdasarkan keadaan dan tindakan. Berdasarkan hasil dari
analisis itu, coba cari penyebab bugnya.
5. Perbaiki bug yang ada, dan periksa juga apakah ada bug baru yang muncul.
Metode Pendekatan Debugging
Secara umum, metode pendekatan debugging yaitu :
Penelusuran Balik (Backtracking)
Biasanya dilakukan pada aplikasi kecil yang sangat mudah untuk dilacak kesalahannya. Data
yang berhubungan dengan aplikasi lebih mudah untuk dilacak dan dicari kesalahannya karena
aplikasi kecil biasanya tidak membutuhkan source hardware yang banyak.
Eliminasi Masalah
Mengumpulkan data yang saling berkaitan diperlukan untuk mencari dimana letak kesalahan
dari aplikasi yang dibuat. Membuat hipotesis dari data yang berhasil dikumpulkan. Selanjtnya
melakukan pengujian berdasarkan hasil dari hipotesis yang telah dibuat. Jika hasil pengujian
berhasil, maka data itu difilter dan dimasukkan sebagai salah satu metode dalam
mengisolasi bug.
Gaya Kasar (Brutal Force)
Gaya ini merupakan yang paling umum dan efisien untuk memisahkan antara penyebab
kesalahan perangkat dengan aplikasi. Metode ini diterapkan apabila semua cara yang lain
telah gagal dilakukan.
Programming environment
Lingkungan pemrograman adalah sistem perangkat lunak yang menyediakan fasilitas
terintegrasi untuk pembuatan program, pengeditan, pelaksanaan, pengujian, dan debugging.
Yang terdiri dari komponen-komponen berikut:
• Editor pengatur sintaks (yang merupakan editor struktur)
• Prosesor bahasa - kompiler, interpreter, atau keduanya
• Monitor debug
• Monitor dialog
Editor pengatur sintaks menggabungkan awal dan akhir untuk bahasa pemrograman.
Sebagai tipe pengguna dalam programnya, editor melakukan analisis sintaks dan
mengubahnya menjadi Representasi Intermediate (IR). Compiler atau interpreter dan monitor
debug berbagi IR.
Kapan saja selama eksekusi, programmer dapat menginterupsi eksekusi program dan
masuk ke mode debug atau kembali ke editor. Penyederhanaan utama untuk pengguna adalah
kemudahan akses semua fungsi melalui monitor dialog.