BAB I PENDAHULUAN - PENDAHULUAN

BAB I PENDAHULUAN Perkembangan dunia komputer sekarang telah semakin canggih, baik dari segi

  perangkat keras maupun dari segi perangkat lunak. Ini dimungkinkan karena kemajuan teknologi di bidang elektronika komputer yang menunjang berkembangnya perangkat keras komputer. Hal ini juga mengakibatkan perkembangan ilmu perangkat lunak serta cabang – cabang ilmu lainnya yang terkait. Kemajuan teknologi perangkat lunak tentunnya diikuti dengan tingginya kebutuhan akan perangkat lunak, sehingga dapat mengakibatkan mahalnya perangkat keras. Sisi lain adalah sulitnya untuk mengubah atau menambah fungsi yang ada pada perangkat lunak. Ini mungkin disebabkan tidak adanya dokumentasi dari perangkat lunak yang baik atau program tidak tersusun dengan baik.

1.1 Sejarah Perkembangan Perangkat Lunak

  Kita ketahui, komputer membutuhkan data atau fakta, dimana data ini pada saat diinput akan diterjemahkan menjadi bilangan biner. Mesin komputer memproses data menjadi suatu informasi yang berguna bagi penggunanya. Sebelum menjadi informasi data tersebut diproses melalui hardware yang terletak pada CPU dengan menggunakan perangkat lunak.

  Perangkat lunak adalah program yang berisi instruksi untuk melakukan proses pengolahan data. Saat ini, tingkat pemrosesan yang dikerjakan perangkat lunak bersifat machine-like (keinginan mesin) mulai berubah dengan sifat human

  • - like (keinginan manusia). Informasi yang di susun secara sistematis dengan

    suatu alur logika tertentu menjadi knowledge (pengetahuan).

  Perangkat Keras tidak akan berfungsi tanpa adanya perangkat lunak begitu pula sebaliknya perangkat lunak tidak berfungsi tanpa adanya perangkat keras. Kedua perangkat tersebut memang saling berkaitan sehingga komputer dapat berfungsi dengan baik. Perkembangan teknologi terutama dalam perangkat keras terus diimbangi oleh perangkat lunaknya sehingga penggunaan komputer lebih maksimal. Kemampuan komputer dirasakan sangat berkaitan dengan perangkat keras dan perangkat lunaknya, maka dari itu diperlukan perangkat lunak yang benar-benar mendukung perangkat kerasnya.

  Bentuk paling sederhana dari perangkat lunak, menggunakan aljabar Boolean, yang di representasikan sebagai binary digit (bit), yaitu 1 (benar) atau 0 (salah), cara ini sudah pasti sangat menyulitkan, sehingga orang mulai mengelompokkan bit tersebut menjadi nible (4 bit), byte (8 bit), word (16 bit), double word (32 bit). Kelompok-kelompok bit ini di susun ke dalam struktur instruksi seperti penyimpanan, transfer, operasi aritmatika, operasi logika, dan bentuk bit ini di ubah menjadi kode-kode yang di kenal sebagai assembler. Kode- kode mesin sendiri masih cukup menyulitkan karena tuntutan untuk dapat menghapal kode tersebut dan format (aturan) penulisannya yang cukup membingungkan, dari masalah ini kemudian lahir bahasa pemrograman tingkat tinggi yang seperti bahasa manusia (bahasa Inggris). Saat ini pembuatan perangkat lunak sudah menjadi suatu proses produksi yang sangat kompleks, dengan urutan proses yang panjang dengan melibatkan puluhan bahkan ratusan orang dalam pembuatannya. Berdasarkan perkembangannya perangkat lunak sampai dengan sekarang dibagi menjadi beberapa era yaitu :

  1. Era Pemula (Pioneer) Bentuk perangkat lunak pada awalnya adalah sambungan-sambungan kabel ke antar bagian dalam komputer, Cara dalam mengakses komputer adalah menggunakan punched card yaitu kartu yang di lubangi.

  2. Era Stabil Pada era stabil penggunaan komputer sudah banyak di gunakan, tidak hanya oleh kalangan peneliti dan akademi saja, tetapi juga oleh kalangan industri / perusahaan. Baris-baris perintah perangkat lunak yang di jalankan oleh komputer bukan lagi satu-satu, tapi sudah seperti banyak proses yang di lakukan secara serempak (multi tasking). Sebuah perangkat lunak mampu menyelesaikan banyak pengguna (multi user) secara cepat/langsung (real

  time). Pada era ini mulai di kenal komputer basis data, yang memisahkan antara program (pemroses) dengan data (yang diproses).

  3. Era Mikro Sejalan dengan semakin luasnya PC dan jaringan komputer di era ini, perangkat lunak juga berkembang untuk memenuhi kebutuhan perorangan.

  Perangkat lunak dapat di bedakan menjadi perangkat lunak sistem yang bertugas menangani internal dan perangkat lunak aplikasi yang di gunakan secara langsung oleh penggunanya untuk keperluan tertentu.

  4. Era Modern Saat ini perangkat lunak sudah terdapat di mana – mana, tidak hanya pada sebuah superkomputer dengan 25 processor-nya, sebuah komputer genggampun telah di lengkapi dengan perangkat lunak yang dapat di sinkronkan dengan PC. Tidak hanya komputer, bahkan peralatan seperti telepon, TV, hingga ke mesin cuci, AC dan microwave, telah di tanamkan perangkat lunak untuk mengatur operasi peralatan itu. Tingkat kecerdasan yang ditunjukkan oleh perangkat lunak pun semakin meningkat, selain permasalahan teknis, perangkat lunak sekarang mulai bisa mengenal suara dan gambar.

BAB II ISI

2.1 EVOLUSI PERANGKAT LUNAK

  Perkembangan perangkat lunak dimulai tahun 1950-an, dimana sejak tahun 1950-an hingga kini perkembangan perangkat lunak dapat dikelompokkan menjadi 4 kelompok berdasarkan kecanggihan perangkat keras(hardware), ukuran memory yang digunakan dan biayanya.

  Tahun 1950-an  Ciri-cirinya:

   Orientasi ke batch processing Adalah proses bertumpuk yaitu pemrosesan dilakukan jika sejumlah data telah dikumpulkan dalam waktu yang telah ditentukan.  Limited distributed

  Adalah pemrosesan data kebanyakan masih dilakukan secara terpusat.  Costume software

  Adalah perangkat lunak yang dibuat untuk dikembangkan dan dijual kepada satu atau lebih pemakai. Tahun 1960-an  Ciri-cirinya:

   Multi user  Real time

  Adalah pengumpulan data, analisis serta proses data dapat berasal dari lebih satu sumber dan pemrosesan tidak memakan waktu yang lama.  Database  Product software Hampir dapat disamakan dengan costum software.

  Tahun 1980-an  Ciri-cirinya:

   Distributed ststem Adalah komputer yang digunakan dalam memroses data yang banyak, dimana masing-masing komputer memperlihatkan fungsi - fungsinya dan dapat berkomunikasi satu sama lainnya.  Biaya perangkat keras yang murah

  Hal ini ditandai dengan perkembangan perangkat keras atau komputer mikro (micro Computer). Tahun 1990-an  Ciri-cirinya:

   Sistem pakar (Expert system)  Mesin kecerdasan buatan (Artifical intellengence macine)  Komputer pararel (Tauri, 1991 : 82)

  2.2 PERANGKAT LUNAK KOMPUTER

  Perangkat lunak atau piranti lunak adalah program komputer yang berfungsi sebagai sarana interaksi antara pengguna dan perangkat keras.

  Perangkat lunak dapat juga dikatakan sebagai ‘penterjemah’ perintah-perintah yang dijalankan pengguna komputer untuk diteruskan ke atau diproses oleh perangkat keras. Perangkat lunak umumnya digunakan untuk mengontrol perangkat keras melakukan perhitungan (memproses), berinteraksi dengan perangkat lunak yang lebih mendasar lainnya (seperti sistem operasi, dan bahasa pemrograman), dan lain-lain (Rudi Hidayat, All About ICT). Perangkat lunak ini dibagi menjadi 3 tingkatan :

  1. Tingkatan program aplikasi (application program) misalnya Microsoft Office)

  Merupakan perangkat lunak yang dikembangkan untuk digunakan pada aplikasi tertentu. Contoh program aplikasi adalah GL, MYOB, PAYROLL, dll (Sulanta, 2005 : 21).

  2. Tingkatan sistem operasi (operating system misalnya Microsoft Windows) Adalah perangkat lunak yang digunakan untuk mengendalikan resources selama proses berlngsung. Fungsi sistem oprasi adalah mengalokasikan memory dan pekerjaan, dan penjadwalan pekerjaan. Contoh OS adalah DOS, UNIX,Novell,OS/2, Windows, dll (Sulanta, 2005 : 20).

  3. Tingkatan bahasa pemrograman Merupakan perangkat lunak yang digunakan sebagai alat untuk pengembangan program aplikasi. Level bahasa pemrograman komputer yaitu :

  a. Bahasa mesin (machine language) Bahasa mesin hanya akan dikenali oleh mesin – mesin komputer yang sama. Oleh karena itu, bahasa mesin selalu dibuat dan telah disertakan menjadi satu (built in) dalam processor.

  b. Bahasa rakitan (assembly language) Bahasa rakitan merupakan bahasa yang berada di antara level bahasa mesin dan bahasa pemrograman tingkat tinggi. Contoh bahasa rakitan adalah bahasa assembler (Sulanta, 2005 : 20).

  c. Bahasa pemrograman tingkat tinggi (programing language) Merupakan bahasa yang mudah dipahami oleh orang awam.

  Contohnya adalah Basic, Cobol, C, C++, Pascal, Delphi, dll.

  Setiap bahasa pemrograman tingkat tinggi memiliki perbedaan pada macam perintah/intruksi,aturan ,penulisan,dan kelengkapan fasilitas untuk melakukan manipulasi data yang disediakan. Sehingga setiap bahasa pemrograman tingkat tinggi akan mempunyai kesesuaian penggunaan yang berbeda – beda pula.

  Bahasa pemrograman tingkat tinggi telah mengalami perkembangan yang pesat dan secara umum dapat di bagi dalam 3 kelompok, yaitu sebagai berikut:  Konvensional, tanpa aturan tertentu.  Terstruktur, mengandung teknik pemecahan masalah yang tepat dan benar serta menghindari terjadinya loncatan proses yang tidak terstruktur.

   Event driven, OOP, multi threading, dapat melakukan beberapa proses pada saat bersamaan.

  d. Bahasa query (query language) Bahasa query merupakan perangkat lunak bahasa tingkat sangat tinggi yang dapat digunakan untuk menampilkan informasi – informasi yang diinginkan hanya dengan menuliskan sedikit perintah saja. Contoh bahasa query yang telah tersedia adalah SQL (Stuctured

  Query Language) yang dimiliki oleh sebagian besar paket perangkat lunak pengolahan basis data (Sulanta, 2005 : 21).

  2.3 KARAKTERISTIK PERANGKAT LUNAK

  Untuk mengenai secara jelas mengenai perangkat lunak, kita perlu mengetahui karakteristik yang terdapat pada perangkat lunak tersebut. Karakteristik tersebut adalah: 1) Pembuatan perangat lunak berdasarkan logika. Ini yang menyebabkan pembuatan perangkat lunak yang dibuat seseorang akan berbeda dengan orang lain walaupun hasilnya sama. 2) Perangkat lunak dikembangan bukan dibuat oleh pabrik-pabrik tertentu hal ini menandaikan bahwa perangkat lunak tidak dibuat secara masal, karena dalam pembuatan perangkat lunak memerlukan rancangan yang baik. 3) Perangkat lunak tidak akan pernah usang karena selalu diperbaharui (Tauri, 1991 : 2).

  2.4 APLIKASI PERANGKAT LUNAK

  Perangkat lunak dapat diterapkan pada situasi apa pun asalkan sebelum langkah - langkah pengerjaannya (algoritma) telah didefinisikan dan diterjemahkan kedalam bahasa pemrograman yang ditentukan.

  Isi dari informasi atau data dan beberapa ketentuan pengolahan merupakan faktor yang penting dalam penerapan aplikasi perangkat lunak. Beberapa aplikasi perangkat lunak antara lain:

  1) System software Merupakan kumpulan program yang ditulis untuk menunjang pemakaian atau pembuatan suatu program. Contoh: Compiler, Editor, dll.

  2) Real time software Adalah perangkat lunak yang digunakan untuk mengukur atau menganalisis proses pemasukan data dari lingkungan luar sampai menghasilkan laporan sesuai keinginan. 3) Bussines software Perangkat lunak yang banyak digunakan dalam aplikasi bisnis.

  4) Engineering and scientific software Perangkat lunak yang digunakan dalam bidang aplikasi teknik dan kerekayasaan.

  5) Embedded software Perangkat lunak yang digunakan untuk mengontrol suatu proses dalam pabrikdimana perangkat lunak tersebut disimpan pada ROM (Read Only Memory) komputer. 6) Personal computer software

  Perangkat lunak yang digunakan dalam aplikasi komputer mikro. Contoh: Wordstar, Lotus, 1-2-3, dll.

  7) Artifical intellengence software Perangkat lunak yang digunakan dalam bidang aplikasi kecerdasan buatan.

  Contoh: Lips, Turbo, Prolog, dll (Tauri, 1991 : 3).

2.5 KOMPONEN PERANGKAT LUNAK

  Sebuah komponen perangkat lunak harus didesain dan diimplementasikan sehingga dapat dipakai lagi pada berbagai program yang berbeda. Komponen – komponen reusabel modern mengenkapsulasi data dan pemrosesan yang di aplikasikan ke data yang memungkinkan insinyur perangkat lunak membuat aplikasi bar dari bagian – bagian yang dapat digunakan kembali. Komponen perangkat lunak dibangun dengan bahasa pemrograman yang memiliki kosakata yang terbatas, sebuah tata bahasa yang dibatasi secara eksplisit, serta aturan – aturan syntaxs dan semantik yang dibentuk secara baik.

  Bahasa tingkat mesin merupakan perwakilan simbolik dari serangkaian instruksi CPU. Ketika pengembang perangkat lunak yang baik memproduksi sebuah program yang didokumentasikan dengan baik dan juga dapat diperbaharui, maka bahasa tingkat mesin dapat secara ekstrim menggunakan memori dan kecepatan eksekusi program secara efisien. Bila program tidak dirancang dengan baik dan hanya memiliki sedikit dokumentasi, maka bahasa tingkat mesin akan menjadi sebuah mimpi buruk.

  Bahasa tingkat menengah memungkinkan pengembang perangkat lunak serta program tidak tergantung pada mesin. Pada kenyataannya, bahasa tingkat menengah meng-compile dan menginter-pretasi hasil bahasa tingkat mesin sebagai keluaran. Meskipun sekarang ini dipakai ratusan bahasa pemrograman, tetapi bahasa pemrograman tingkat menengah yang masih dipakai secara luas di dalam industri kurang dari 10. bahasa seperti COBOL dan FORTRAN masih tetap dipakai secara luas lebih dari 30 tahun setelah masa pengenalannya. Banyak bahasa pemrograman seperti ada 95, C, C++, Eiffel, Java, dan Smalltalk mendapat sambutan yang sangat antusias (Pressman, 2002 : 14-15).

2.5 ARSITEKTUR PERANGKAT LUNAK

  Arsitektur perangkat lunak mempunyai 2 karakteristik penting dalam program komputer : o Struktur hirarki dari komponen prosedural (modul) o Struktur data

  Arsitektur perangkat lunak berasal dari proses partisi yang berhubungan dengan elemen – elemen dari masalah perangkat lunak sebagai bagian pemecahan maslah yang telah didefinisikan pada fase analisis keperluan.pemecahan masalah yang dikerjakan dari masing–masing permasalahan dipecahkan oleh satu atau lebih elemen perangkat lunak. Proses ini secara simbolis dapat digambarkan sebagai berikut: S1 S2 P1 P2 P3 S3 P5 P4 S4 S5

  

Proses arsitektur perangkat lunak

  Metodologi yang dapat digunakan dalam penyusunan arsitektur perangkat lunak dapat lebih dari satu, tetapi semuanya mempunyai tujuan yang sama yaitu untuk merancang perangkat lunak dengan baik kualitas hasil yang baik. Hal ini dapat digambarkan (Tauri, 1991 : 82).

  P S1 S4 S5 S2 S1 S2 S3 S4 S5 S3 S4 S1 S2 S3 S5

  

Metodologi penyusunan arsitektur perangkat lunak