Pengertian sistem operasi secara umum ialah pengelola seluruh sumber-daya yang terdapat pada sistem komputer dan menyediakan sekumpulan layanan (system calls) ke pemakai sehingga memudahkan dan menyamankan penggunaan serta pemanfaatan sumber-daya sistem komputer.
a. Fungsi Dasar
Sistem komputer pada dasarnya terdiri dari empat komponen utama, yaitu perangkat-keras, program aplikasi, sistem-operasi, dan para pengguna. Sistem operasi berfungsi untuk mengatur dan mengawasi penggunaan perangkat keras oleh berbagai program aplikasi serta para pengguna.
Sistem operasi berfungsi ibarat pemerintah dalam suatu negara, dalam arti membuat kondisi komputer agar dapat menjalankan program secara benar. Untuk menghindari konflik yang terjadi pada saat pengguna menggunakan sumber-daya yang sama, sistem operasi mengatur pengguna mana yang dapat mengakses suatu sumber-daya. Sistem operasi juga sering disebut resource allocator. Satu lagi fungsi penting sistem operasi ialah sebagai program pengendali yang bertujuan untuk menghindari kekeliruan (error) dan penggunaan komputer yang tidak perlu.
b. Tujuan Mempelajari Sistem Operasi
Tujuan mempelajari sistem operasi agar dapat merancang sendiri serta dapat memodifikasi sistem yang telah ada sesuai dengan kebutuhan kita, agar dapat memilih alternatif sistem operasi, memaksimalkan penggunaan sistem operasi dan agar konsep dan teknik sistem operasi dapat diterapkan pada aplikasi-aplikasi lain.
c. Sasaran Sistem Operasi
Sistem operasi mempunyai tiga sasaran utama yaitu kenyamanan — membuat penggunaan komputer menjadi lebih nyaman, efisien — penggunaan sumber-daya sistem komputer secara efisien, serta mampu berevolusi — sistem operasi harus dibangun sehingga memungkinkan dan memudahkan pengembangan, pengujian serta pengajuan sistem-sistem yang baru.
d. Sejarah Sistem Operasi
Menurut Tanenbaum, sistem operasi mengalami perkembangan yang sangat pesat, yang dapat dibagi kedalam empat generasi:
Generasi Pertama (1945-1955)
Generasi pertama merupakan awal perkembangan sistem komputasi elektronik sebagai pengganti sistem komputasi mekanik, hal itu disebabkan kecepatan manusia untuk menghitung terbatas dan manusia sangat mudah untuk membuat kecerobohan, kekeliruan bahkan kesalahan. Pada generasi ini belum ada sistem operasi, maka sistem komputer diberi instruksi yang harus dikerjakan secara langsung.
Generasi Kedua (1955-1965)
Generasi kedua memperkenalkan Batch Processing System, yaitu Job yang dikerjakan dalam satu rangkaian, lalu dieksekusi secara berurutan.Pada generasi ini sistem komputer belum dilengkapi sistem operasi, tetapi beberapa fungsi sistem operasi telah ada, contohnya fungsi sistem operasi ialah FMS dan IBSYS.
Generasi Ketiga (1965-1980)
Pada generasi ini perkembangan sistem operasi dikembangkan untuk melayani banyak pemakai sekaligus, dimana para pemakai interaktif berkomunikasi lewat terminal secara on-line ke komputer, maka sistem operasi menjadi multi-user (di gunakan banyak pengguna sekali gus) dan multi-programming (melayani banyak program sekali gus).
Generasi Keempat (Pasca 1980an)
Dewasa ini, sistem operasi dipergunakan untuk jaringan komputer dimana pemakai menyadari keberadaan komputer-komputer yang saling terhubung satu sama lainnya. Pada masa ini para pengguna juga telah dinyamankan dengan Graphical User Interface yaitu antar-muka komputer yang berbasis grafis yang sangat nyaman, pada masa ini juga dimulai era komputasi tersebar dimana komputasi-komputasi tidak lagi berpusat di satu titik, tetapi dipecah dibanyak komputer sehingga tercapai kinerja yang lebih baik.
Layanan Sistem Operasi
Sebuah sistem operasi yang baik menurut Tanenbaum harus memiliki layanan sebagai berikut: pembuatan program, eksekusi program, pengaksesan I/O Device, pengaksesan terkendali terhadap berkas pengaksesan sistem, deteksi dan pemberian tanggapan pada kesalahan, serta akunting.
Pembuatan program yaitu sistem operasi menyediakan fasilitas dan layanan untuk membantu para pemrogram untuk menulis program; Eksekusi Program yang berarti Instruksi-instruksi dan data-data harus dimuat ke memori utama, perangkat-parangkat masukan/ keluaran dan berkas harus di-inisialisasi, serta sumber-daya yang ada harus disiapkan, semua itu harus di tangani oleh sistem operasi; Pengaksesan I/O Device, artinya Sistem Operasi harus mengambil alih sejumlah instruksi yang rumit dan sinyal kendali menjengkelkan agar pemrogram dapat berfikir sederhana dan perangkat pun dapat beroperasi; Pengaksesan terkendali terhadap berkas yang artinya disediakannya mekanisme proteksi terhadap berkas untuk mengendalikan pengaksesan terhadap berkas; Pengaksesan sistem artinya pada pengaksesan digunakan bersama (shared system); Fungsi pengaksesan harus menyediakan proteksi terhadap sejumlah sumber-daya dan data dari pemakai tak terdistorsi serta menyelesaikan konflik-konflik dalam perebutan sumber-daya; Deteksi dan Pemberian t anggapan pada kesalahan, yaitu jika muncul permasalahan muncul pada sistem komputer maka sistem operasi harus memberikan tanggapan yang menjelaskan kesalahan yang terjadi serta dampaknya terhadap aplikasi yang sedang berjalan; dan Akunting yang artinya Sistem Operasi yang bagus mengumpulkan data statistik penggunaan beragam sumber-daya dan memonitor parameter kinerja.
1. Pengelompokan Sistem Operasi
Dengan berkembangnya teknologi informasi, maka berkembang pula sistem operasi suatu sistem komputasi. Perkembangan sistem operasi banyak dipengaruhi oleh perkembangan perangkat keras terutama kemampuan dari prosesor. Oleh karena itu terdapat beberapa pengelompokan sistem operasi berdasarkan lebar bit data yang bisa ditangani oleh prosesor, mulai dari sistem operasi yang berskala 8-bit, lalu 16-bit, kemudian 32-bit seperti Microsoft Windows NT, IBM OS/400, Sun Solaris, hingga kini yang berskala 64-bit seperti DIGITAL UNIX, Open VMS, IBM AIX for RS/6000, SGI IRIX, dan HP-UX.
Dengan mengacu pada karakteristik dari sistem operasi yang ditinjau dari beberapa sudut pandang, maka dapat dibuat berberapa klasifikasi yang lain . Klasifikasi-klasifikasi tersebut dipaparkan sebagai berikut:
a. Klasifikasi sistem operasi berdasarkan End-User Interface:
Command Driven: seluruh perintah pada sistem operasi diketikkan pada prompt perintah atau dieksekusi melalui script file (misal: DOS, UNIX atau XENIX)
Graphical User Interface (GUI): pengguna akhir menggunakan mouse atau alat penunjuk yang lain untuk memilih obyek yang mewakili suatu instruksi spesifik (misal: Windows 95, IBM -OS/2, MAC-OS)
b. Klasifikasi sistem operasi berdasarkan Pengguna:
Single-User Single-Tasking: Sistem operasi yang hanya mampu untuk melayani satu pengguna sekali waktu untuk satu instruksi dalam suatu siklus proses (misal MS-DOS)
Single-User Multi-Tasking: Sistem operasi yang hanya mampu untuk melayani satu pengguna sekali waktu dan mampu untuk mengeksekusi beberapa instruksi dalam satu waktu siklus proses (misal Windows 95, IBM -OS/2, MAC-OS).
Multi-User Multi-Tasking: Sistem operasi yang mampu untuk melayani beberapa pengguna sekaligus dalam satu waktu dan juga mampu untuk menjalankan beberapa instruksi sekaligus dalam suatu siklus proses.
c. Klasifikasi sistem operasi berdasarkan pangsa pasar:
Sistem operasi server/network, seperti Windows NT Server, IBM AIX for RS/6000, DIGITAL UNIX, Open VMS, HP-UX, Sun Solaris, dan IBM OS/400.
Sistem operasi desktop, seperti Windows 95/ Windows NT Workstation, OS/2 Wrap, MacOS, Java.
Sistem operasi Handheld, seperti Windows CE, GEOS, Magic Cap.
Pangsa pasar sistem perangkat lunak saat ini didominasi oleh tiga platform yaitu Windows NT, UNIX dan Netware. Diantara ketiga platform sistem operasi tersebut, Windows NT memiliki pertumbuhan yang paling pesat dan menguasai pangsa pasar yang tinggi. Grafik berikut memperlihatkan jumlah sistem operasi server dari ketiga platform.
2. METODE PENGEMBANGAN PERANGKAT LUNAK
A. Metode System Development Life Cycle (SDLC)
1. Rekayasa dan Pemodelan Sistem/Informasi
Karena perangkat lunak merupakan bagian dari suatu sistem maka langkah pertama dimulai dengan membangun syarat semua elemen sistem dan mengalokasikan ke perangkat lunak dengan memeperhatiakn hubungannya dengan manusia, perangkat keras dan database.
2. Analisis Kebutuhan Perangkat Lunak
Proses menganalisis dan pengumpulan kebutuhan sistem yang sesuai dengan domain informasi tingkah laku, unjuk kerja, dan antar muka (interface) yang diperlukan. Kebutuhan-kebutuhan tersebut didokumentasikan dan dilihat lagi dengan pelanggan.
3. Desain
Proses desain akan menerjemahkan syarat kebutuhan ke sebuah perancangan perangkat lunak yang dapat diperkirakan sebelum dibuat coding. Proses ini berfokus pada : struktur data, arsitektur perangkat lunak, representasi interface, dan detail (algoritma) prosedural.
4. Pengkodeaan (Coding)
Pengkodean merupakan proses menerjemahkan desain ke dalam suatu bahasa yang bisa dimengerti oleh komputer.
5. Pengujian
Proses pengujian dilakukan pada logika internal untuk memastikan semua pernyataan sudah diuji. Pengujian eksternal fungsional untuk menemukan kesalahan-kesalahan dan memastikan bahwa input akan memberikan hasil yang aktual sesuai yang dibutuhkan.
6. Pemeliharaan
Perangkat lunak yang sudah disampaikan kepada pelanggan pasti akan mengalami perubahan. Perubahan tersebut bisa karena mengalami kesalahan karena perangkat lunak harus menyesuaikan dengan lingkungan (periperal atau sistem operasi baru) baru, atau karena pelanggan membutuhkan perkembangan fungsional atau unjuk kerja.
Keunggulan dan Kelemahan Model Sekuensial Linier
a. Keunggulan:
1. Mudah aplikasikan
2. Memberikan template tentang metode analisis, desain, pengkodean, pengujian, dan pemeliharaan
b. 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. Pelanggan harus bersikap sabar karena harus menunggu sampai akhir proyrk dilalui. Sebuah kesalahan jika tidak diketahui dari awal akan menjadi masalah besar karena harus mengulang dari awal.
B. Prototype
Prototyping merupakan salah satu metode pengembangan perangkat 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 dibutuhakan 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 dalm 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 prototyping
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 . Jika 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. Pengembang 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
C. Object Oriented Design
Filosofi Object Oriented sangat luar biasa sepanjang siklus pengenbangan perangkat lunak (perencanaan, analisis, perancangan dan implementasi) sehingga dapat diterapkan pada perancangan sistem secara umum: menyangkut perangkat lunak, perangkat keras dan sistem secara keseluruhan.
Dalam pengembangan sistem berorientasi objek ini , konsep-konsep dan sifat-sifat object oriented digunakan. Kosep-konsep tersebut adalah:
1. Kelas
Kelas adalah konsep OO yang mengencapsulasi/membungkus data dan abstraksi prosedural yang diperlukan untuk menggambarkan isi dan tingkah laku berbagai entitas. Kelas juga merupakan deskripsi tergeneralisir (misl template, pola, cetak biru) yang menggambarkan kumpulan objek yang sama.
2. Objek
Objek digambarkan sebagai benda, orang, tempat dan sebagainya yang ada di dunia nyata yang penting bagi suatu aplikasi. Objek mempunyai atribut dan metoda .
3. Atribut
Atribut menggambarkan data yang dapat memberikan informasi kelas atau objek dimana atribut tersebut berada.
4. Metoda/Servis/Operator
Metoda adalah prosedur atau fungsi yang tergabumh dalam objek bersama dengan atribut. Metode ini digunakan untuk pengaksesan terhadap data yang terdapat dalam objek tersebut.
5. Message
Message adalah alat komunikasi antar objek. Hubungan antar objek ditentukan oleh problem domain dan tanggung jawab sistem.
6. Event
Event adalah suatu kejadian pada waktu yang terbatas yang menggambarkan rangsangan (stimulus) dari luar sistem.
7. State
State adalah abstraksi dari nilai atribut dan link dalam sebuah objek. State merupakan tanggapan dari objek terhadap event-event masukan.
8. Skenario
Skenario adalah urutan event yang terjadi sepanjang eksekusi sistem.
Langkah-langkah Proses OOD dalam OMT
1. Lakukan Desain Sistem
- Partissi model analisis ke dalam subsistem
- Identifikasi konkurensi yang ditentukan oleh masalah
- Alokasikan subsistem ke prosesor dan tugas.
- Pilih strategi untuk manajemen data
- Identifikasikan sumber daya globl dan mekanisme kontrol untuk mengakses
- Kajilah dan perhatikan trade-offs
2. Lakukan Desain Objek
- Pilih operasi model analisis
- Tentukan algoritma untuk masing-masing operasi
- Pilih struktur data untuk setiap algoritma
- Tentukan kelas internal
- Kajilah organisasi kelas untuk mengoptimalkan akses ke data dan tingkatkan efesiensi komputasi
- Rancang atribut kelas
3. Implementasi mekasnisme kontrol
4. Sesuaikan struktur kelas untuk memperkuat pewarisan
5. rancang pemesanan untuk mengimplementasikan hubungan objek asosiasi
6. Kemas kelas-kelas dan asosiasi ke dalam modul
Tidak ada komentar:
Posting Komentar