Senin, 15 Desember 2014

SOFTWARE SISTEM



Pengertian Perangkat Lunak
     Perangkat lunak sistem atau sering disebut juga dengan perangkat lunak pendukung adalah program yang digunakan untuk mengontrol sumber daya komputer, baik yang bersifat internal misalnya RAM , maupun eksternal misalnya printer. Kedudukan program ini umumnya sebagai perantara antara program aplikasi dan perangkat keras komputer. Itulah sebabnya, peran program sistem kadangkala tidak terlihat secara langsung. Adapaun yang tampak seperti perangkat lunak aplikasi yaitu utilitas.
a.       Perangkat lunak sistem operasi
Perangkat lunak sistem operasi adalah perangkat lunak dasar yang berfungsi sepenuhnya untuk mengendalikan sistem komputer, yaitu Windows, UNIX, dan Linux.
b.      Utilitas
Utilitas adalah program yang dipakai secara langsung oleh pemakai untuk melakukan kegiatan yang berhubungan dengan pengendalian atau pengalokasian sumber daya dalam sistem komputer. Contohnya ScanDisk pada Windows dan tar pada UNIX.
c.       Device driver
Device driver merupakan program yang berfungsi untuk membantu komputer mengendalikan peranti-peranti peripheral.
d.      Penerjemah bahasa (Language translator)
Penerjemah bahasa atau sering disebut juga dengan Language translator adalah program yang berfungsi untuk menerjemahkan program yang dibuat oleh pemrograman menjadi bentuk yang dapat dijalankan oleh komputer secara langsung.



2.2   Sistem Operasi
Sistem operasi adalah perangkat lunak dasar yang berfungsi sepenuhnya untuk mengendalikan sistem komputer.
2.2.1        Fungsi Sistem Operasi
1.      Manajemen proses mencakup penyiapan, penjadwalan, dan pemantulan proses pada komputer . proses adalah program yang sedang dijalankan.
2.      Manajemen sumber daya berkaitan dengan pengendalian terhadap pemakaian sumber daya dalam sistem komputer yang dilakukan oleh perangkat lunak sistem ataupun perangkat lunak aplikasi yang sedang dijalankan pada komputer. Maksud sumber daya disini adalah komponen perangkat keras dalam komputer seperti CPU, memori utama, dan peranti masukan atau keluaran.
3.      Menejemen data berupa pengendalian terhadap data masukan atau keluaran, termasuk dalam hal pengalokasian dalam perani penyimpanan sekunder maupaun dalam memori utama.
2.2.2        Macam-macam Sistem Operasi
a.       Sistem Operasi yang termasuk UNIX
No
Nama
Vendor
1.
AIX
IBM
2.
A/UX
Apple (Macintosh)
3.
DG/UX
Data General
4.
Digital Unix
DEC
5.
HP/UX
Hawlett-Packard
6.
Unixware
Novell
7.
XINU
Doug Comer



b.      Sistem operasi yang populer pada PC
No
Sistem Operasi
Keterangan
1.
DOS
DOS adalah singkatan dari Disk Operating System merupakan sistem operasi yang pada awalnya dipakai pada IBM PC (disebt MS-DOS) versi DOS yang pertama yang dirilis pada tahun 1962 dikemas dalam sebuah disket. Pada saat ini, sistemoperasi ini hampir tidak digunakan lagi. Dirancang untuk komouter tunggal.
2.
Windows 95/
Windows 98/
Windows Me/
Windows XP/
Windows Me/
Windows 7
Windows 8
Sistem operasi dengan antarmuka grafis yang dibuat oleh mocrosoft. Memiliki kemampuan multitasking dan dapat digunakan untuk membentuk kerja tim (Workgroup) dengan membuat jaringan sederhana. Dapat digunakan sebagai client dalam client/server sistem operasi ini mendukung plug and play, yaitu suatu kemampuan yang secara otomatis dapat mengonfigurasi perangkat eras baru yang ditambahkan ke dalam sistem komputer.
3.
Windows NT/
Windows 2000
Sistem operasi dengan anatarmuka grafis ini bisa digunakan sebagai server. Mendukung multitasking dan multiprocessing. Windows NT (kependekan nw tecnologi) dirilis pertama kali pada tahun 1993. Pada tahun 2000, windows 2000 diluncurkan untuk menggantikan windows NT versi 4.0
4.
Novell NetWare
Merupakan sistem operasi LAN (Local Area Network) atau jaringan lokal yang sangat terkenal sebekum windows NT muncul.
5.
OS/2
Sistem operasi untuk IBM PC dengan antarmuka grafis. Mendukung multitasking dan netwoking. Namun, kurang populer diindonesia
6.
UNIX
UNIX adalah keluarga sistem operasi yang dapat digunakan untuk berbagai platform komputer, dari PC hingga mainframe. Beberapa contoh sistem operasi ang termasuk UNIX : AIX (IBM), digital UNIX (DEC), dan solaris (sun microsystems). Dilingkungan PC anatara lain terdapat solaris dan SCO unix .
7.
Linux
Sistem operasi semacam unix ini diciptakan oleh linus Trovalds, sangat populer diligkungan PC dan telah menjadi pesaing sistem windows semenjak akhir tahun 1990-an. Sistem operasi ini tergolong dalam open Source.

2.2.3        Penanganan Proses dalam Sistem Operasi
a.       Multiprogramming
Multiprogramming adalah metode yang menggunakan dua program atau lebih dijalankan secara serentak dalam sebuah komputer dan berbagai sumber daya dalam wakt8u yang berlainan.didalam sistem multiprogramming sebuah program dijalankan dalam CPU sampai terjadi dalam suatu interupsi misalnya permintaan masukan.
Konsep multiprogramming dapat dianalogkan dengan pengacara yang tentu saja tidak hanya mengenai satu klien. Ketika suatu kasus dari seseorang kllien sedang menunggu ubntuk proses pengadilan, sang pengacara dapat mengenai kasus yang lain. Dengan cara yang seperti ini maka tidak akan ada waktu yang tersia-siakan.
Kelemahan sistem multiprogramming adalah tidak memungkinkan pemakai berinteraksi dengan proses. Segala masukan ditangani melalui kartu kontrol yang dikenal dengan sebutan kartu plong.


b.      Time-sharing
Time-sharing adalah suatu metide yang digunakan sistem operasi yang memungkinkan sejumlah pemakai dapat berinteraksi dengan proses yang dibuatnya karena setiapproses akan ditangani oleh CPU secara bergantian dalam jumlah waktu yang sama. Time-sharing merupakan pengembangan lebih lanjut terhadap multiprogramming.
c.       Penyimpana virtual
Penyimpanan virtual adalah suatu metode yang menangani sejumlah program dengan membagi program-program tersebut kedalam bagian-bagian yang lebih kecil dan berukuran sama dengan hanya sebuah bagian darisetiap proses yang ditaruh dalam memorin utama per satu waktu. Metode seperti ini diterapkan antara lain pada Windows.
d.      Multitasking
Multitasking adalah suatu kemampuan yang memungkinkan seorang pemakai dapat menjalankan sejumlah program dalam waktu yang sama. Cara seperti ini umum dalam sistem PC. Dengan menggunakan sistem operasi Windows.
e.       Multiprocessing
Multiprocessing adalah suatu kemampuan sistem operasi yang menjalankan dua atau lebih interuksi secara serentak dengan menggnakan sejumlah CPU dalam sebuah komputer.
2.3   Utilitas
Utilitas adalah program yang bermanfaat untuk melakukan kegiatan yang berhubungan dengan sumber daya sistem, misalnya untuk menformat disket. Di dlingkuanagn windows , program-program seperti ScanDisk, Disk Cleanup, dan Disk Defragmenter, secara otomatsis disertakan dalam komputer ketika program Windows diinstal.
Beberapa penggolongan utilitas menurut tugas yang dilakukan antar lain pencadangan (backup), pemulihan data (data recovary), antivirus, komperssi data, defegmentasi, pemformat disk. Berbagai katagori yang lain tidak dibahas karena sangat banyak.
2.3.1        Program Untuk Pencadangan
Pencadang (backup) berarti menyalin program atau data yang terdapat pada hard disk komputer ke suatu peranti penyimpanan exsternal (misalnya pita mengetik atau CD-RW) dengan tujuan agar sekitarnya terjdai kerusakan pada hard disk komputer maka salinan tersebut dapat dikembangkan lagi. Dilingkungan UNIX dan Linux terdapat utilitas bernama tar, cpio, dan dd.
2.3.2        Program Pemulihan Data
Utilitas pemulihan data berfungsi untuk melakukan perbaikan atau pemulihan data yang rusak secara fisik. Norton Utilitas merupakan contoh program pemulihan data yang sangat terkenal. Perangkat lunak ini berisi kesimpulan program yang antara lain berguna untuk membetulkan kerusakan data pada hard disk.
2.3.3        Program Antivirus
Virus berupa penggalan kode yang dapat menggandakan dirinya sendiri denagn cara menyalin kode dan menempelkan ke bekas program yang dapat dieksekusi (misalnya berkas .exe pada DOS).
Beberapa virus hanya “sekedar numpang”, namun sejumlah virus yang lain benar-benar sangat jahat karena akan menghapus berkas-berkas dengan kestensi tertentu dan bahkan dapat menformat hard disk. Contoh virus jahat adalh CIH dan virus Chernobly yang melakukan penularan melalui e-mail. Program antivirus berguna untuk menangani penularan virus dalam komputer.
2.3.4        Program Kompresi Data
Komperesi data merupaka upaya yang bisa dilakukan pemakai komputer dengan tujuan agar berkas yang berukuran besar dapat disimpan dengan ukuran yang jauh lebih kecil. Tindakan ini sering kali dilakukan dengan tujuan agar berkas yang berukuran lebih besar dari kapasitas disket tetap dapat disimpan dalam sebuah disket.
2.3.5        Program Untuk Melakukan Defragmentasi
Defragmentasi dalah suatu uapaya yang menghilangkan fragmentasi. Fragmenatsi adalah keadaan yang membuat bagian dari berkas-berkas  pada hard disk atau disket tidak berada pada lokasi yang berseblahan melainkan berserakan pada bagian sektir yang berjauhan. Program yang diguanakan untuk melakukan defragmentasi disebut defragger dan defragmenter. Disk defragmenter merupakan contoh utilitas yang tersedia pada Microsoft Windows.
2.3.6        Pemformat Disk
Menformat disk adalah tindakan yang dilakukan untuk menyiapkan disket atau hard disk agar bisa digunakan untuk menyimpan data atau program. Untuk melakukannya anda, bisa menggunakan program pemformat disk.


2.4  Device Driver
Device Driver adalah program yang berfungsi untuk membantu komputer mengendalikan peranti-peranti peripheral. Perangkat lunak ini biasanya disediakan vendor yang memproduksi perangkat keras. Sebagai contoh, ketika anda memasang perangkat keras seperti modem atau sacnner, anda juga perlu menginstal device driver supaya perangkat keras tersebut dapat berfungsi dengan baik.

2.5  Penerjemah Bahasa
Program dibuat dengan menggunakan bahasa pemrograman yang mudah dipahami oleh akal manusia. Biasanya menggunakan kata-kata bhasa inggris misalnya IF untuk menyatakan “jika” dan AND untuk menyatakn “dan”. Penerjemah bahasa pemrograman dibedakan menjadi assembler, kompiler dan interpreter.
1.      Assembler
Assembler adalah program yang digunakan untuk menerjemahkan kode sumber dalam bahasa rakitan (asembly) kedalam bahasa mesin.
2.      Kompiler
Kompiler adalah program penerjemah yang mengonfersi semua kode sumber selain dalam bahasa rakitan menjadi kode objek. Hasil berupa kode objek inilah yang bisa dijalankan oleh komputer.bahasa seperti COBOL dan C menggunakan kompiler.
Ø  Keuntungan bagi pengguna kompiler :
ü  Pengerjaan intruksi dilakukan dengan sangat cepat, karena setelah kode objek terbentuk takperlu lagi adanya penerjemahan, mengingat komputer dapat memahami kode objek secara langsung.
ü   Kode objek dapat didistribusikan ke komputer lain tanpa perlu menyertakan kode sumber dan kompiler, sehingga kerahasiaan kode sumber tetap terjamin.

3.      Interpreter
Interpreter adalah program yang menerjemahkan per satu intruksi dalam kode sumber dan kemudian segera menjalankan intruksi yang telah diterjemahkan tersebut. Bahasa seperti BASIC pada awalnya menggunakan interpreter (BASICA). Namun, belakangan muncul BASIC yang menggunakan kompiler (Turbo Basic dan Visual Basic).

2.5.1 Klaifikasi Bahasa Pemrograman

Rounded Rectangle: Bahasa Generasi Pertama
Bahasa Mesin
jhu




 












          Gambar diatas menunjukan terjadinya kecenderungan pergeseran orientasi dalam bahasa-bahasa pemrograman, dari pendekatan yang berorientasi kepada mesin menuju k pendakatan yang berorientasi pada manusia.
2.5.1.1  Bahasa Pemrograman Generasi Pertama
Bahasa pemrograman generasi pertama berorientasi pada mesin. Program disusun dengan menggunakan bahasa mesin. Tentu saja, program generasi ini sangat sulit untuk dipahami oleh orang awam dan sangat membusankan bagi program. Bahasa mesin sangat bergantung pada mesin (machine dependent). Artinya bahasa mesin antar satu mesin dengan mesin yang lain jauh berbeda.
Contoh intruksi dalam bahasa mesin yang diterapkan pada IBM PC yang berbasis sistem operasi DOS
Kode dalam bahasa mesin
No
Instruksi Mesin
Keterangan
1.
B402 atau 1011 0100 0000 0000
Muatlah bilangan 2 ke register AH
2.
B22A atau 1011 0010 0010 1010
Muatlah bilangan 2A heksadesimal ke register DL
3.
CD21 atau 1100 1101 0010 0001
Jalankan interupsi 21 heksadesimal
Tiga intruksi diatas digunakan untuk menampilkan tanda * pada layar. Bandingkan dengan beberapa perintah berikut yang ditulis pada bahasa pemrograman beraras tinggi :
WRITE (‘ * ‘);                ( Pada Pascal)
DISPLAY  “*”.               ( Pada COBOL)
PRINT  “*”                   ( Pada BASIC)
Printf (“*”);                 ( Pada C)
Cout << “*”;                 ( Pada C++)



2.5.1.2  Bahasa Pemrograman Generasi Kedua
Bahasa pemrograman generasi kedua menggunakan bahasa rakitan (assembly). Sebagai pengganti kode-kode biner, digunakan kependekan dari kata-kata. Misalnya , MOV untuk menyatakan “Move” dan JNZ yang berarti “jump non-zero” atau “lompatlah kalau tidak sama dengan nol”. Setiap intruksi dalam bahasa rakitan sebenarnya identik dengan satu intruksi bahasa mesin.

Kode dalam bahasa rakitan
No
Perintah
Keterangan
1.
MOV AH, 02
Muatlah bilangan 2 ke register AH
2.
MOV DL, 2A
Muatlah bilangan 2A heksadesimal ke register DL
3.
INT 21
Jalankan interupsi 21 heksadesimal

2.5.1.3  Bahasa Pemrograman Generasi Ketiga
Bahasa pemrograma generasi ketiga menggunakan pendekatan prosedural. Sebagai bahasa prosedural, pemrograman perlu menulliskan intruksi-interuksi yang rinci agar komputer melaksanakan tugasnya . program ditulis dengan menggunakan kata-kata yang bisa dipakai manusia, seperti WRITE untuk menampilkan sesuatu ke layar dan READ untuk membaca data dari keyboard. Beberapa contoh yang termasuk kedalam bahasa pemrograman genarasi ketiga yaitu : ALGOL, BASIC, COBOL, FORTRAN, dll.
2.5.1.4  Bahasa Pemrograman Generasi Keempat
Bahasa pemrograman generasi keempat yang dikenal dengan sebutan 4GL dapat dipakai oleh pemakai yang kurang mengetahui hal-hal teknis tentang pemrograman tanpa bantuan pemrogram provesional. Sebagai contoh sorang pemakai non-program dapat mebuat program dengan Microsoft Access di lingkungan PC dengan mudah.
Bahasa pemrograman generasi keempat biasa disebuat sebagai bahasa beraras sangat tinggi (very high level langage) atau bahsa bahasa yang berorientasi pada masalah (problem orinted language) karena memungkinkan pemakai meyelesaikan masalah dengan sedikit penulisan kode dibandingkan dengan bahasa prosedural.
Disini kita dapat menggunakan SQL untuk membuat database contohnya :
ü Pembangkitan program (application/program generator) adalah peranti yang berfungsi untuk membuat aplikasi dengan mudah
ü Pembangkitan laporan (report generator) adalah peranti yang berfungsi untuk membuat laporan denagn cepat dan mudah
ü Bahasa query merupakan peranti yang memungkinkan query dengan SQL yang digunakan dengan cara mudah dan cepat.
ü Pembangkitan gambar (graphics generator) merupakan peranti untuk menyajikan data dalam bentuk grafik. Contoh bahasa pemrograman generai ke empat :
a.       Oracle
b.      Informix
c.       Sybase
d.      powerHouse
e.       access
f.       FOCUS
2.5.1.5  Bahasa Pemrograman Generasi Kelima
Bahasa pemrograman generasi kelima merupakan bahasa-bahasa pemrograman yang ditujukan untuk mengenai kecerdasa buatan (artifical processing). Kerecdasan buatan adalah disiplin dalam ilmu komputer yang mempelajari cara komputer meniru kecerdasan manusia. Aplikasi kecerdasan manusia adalah sebagai berikut :
ü    Pemrosesan bahasa alami (natural langage processing)
ü    Pengenalan robotika dengan sensor mata
ü    Aplikasi sistem pakar (expert system).

Aplikasi pemrosesan bahasa alami

No
Sistem
Keterangan
1.
Babylon
Program yang berfungsi sebagai penerjemah dari stu bahasa ke bahasa lain
2.
Operette
Sistem untuk menjawab telepon yang ditujukan untuk melayani pelanggan (asisten operator) buatan vocalis, Inggris
3.
Voice Type
Sistem yang memnungkinkan seseorang membacakan suatu ucapan dan sistem akan mengubahnya ke bentuk teks dan menampilkannya di monitor. Sistem ini mampu menangkap 70-100 kata permenit dengan tingkat keakuran 99%
4.
Ask Dudley
Mesin pencari yang diterapkan di peusahaan dell untuk membantu para pelanggan yang mengalami masalah teknis. Pelanggan bisa berdialog dengan menggunakan bahasa Inggris.

2.5.2        Berbagai Macam Bahasa Pemrograman
2.5.2.1  FORTRAN
Fortran (formula translator) dikembangkan pada tahun 1956 oleh John Backus di IBM. Bahasa ini dijuntukan untuk mempermudah pembuatan aplikasi matematika, ilmu pengetahuan dan teknik. Fortran merupakan bahasa beraras tertinggi yang pertama kalli diciptakan.
Keunggulan Fortran terletak pada dukungan untuk menangani perhitungan, termasuk bilangan kompleks, kelemahan bahasa ini terletak pada operasi masukan/keluaran yang sangat kaku.
2.5.2.2  COBOL
COBOL (Common Bussines Oriented Languange) bahasa ini dijunjukan untuk mempermudah pembuatan aplikasi di bidang bisnis. Bahasa ini masih banyak digunakan terutama dilingkungan minikomputer dan mainframe. Keunggulan COBOL adalah sebagai berikut :
a.       Tidak tergantung mesin artinya kode untuk semua platform relatif sama.
b.      Sintaksnya yang menggunakan kata-kata bahasa inggris sangat mudah dipahami oleh pemrogram.
c.       Pengangan terhadap berkas sudah tersedia dan bahkan mendukung bermacam-macam tipe berkas (misalnya sekuensual dan indeks).
d.      Pengangan masukan/keluaran (Input dan Output) mudah dilakukan.
Kelemahan bahasa ini terletak pada struktur penulisan program yang sangat kaku dan berkesan bertele-tele.
2.5.2.3  PL/I
PL/I (Programming Languange I) diperkenalkan oleh IBM pada tahun 1963. Bahasa ini dapat dipakai untuk menangani pemrosesan data bisnis maupun untuk melakukan perhitungan data ilmu pengetahuan. Bahasa ini hanya dikenal dilingkungan komputer IBM dan tidak Populer di PC.
2.5.2.4  RPG
RPG (Report Program Generator) merupakan bahasa pemrograman generasi ketiga yang sangat popiler dilingkungan minikomputer dan mainframe IBM. RPG diperkenlkan pada tahun 1964.



2.5.2.4  APL
APL (A Programming Languange) merupakan pemrograman genrasi ketiga yang diciptakan pada tahun 1962 oleh Kenneth Iverson. Bahasa ini mnggunakan keyboard khusus untuk penyelesaian matematika yang kompleks.
2.5.2.5  Logo
Logo bisanya dapat digunakan untuk menghasilkan laporan-laporan bisnis dalam bentuk grafik
2.5.2.6  BASIC
BASIC (Beginner All-purpose Symbolic Instructions Code) dikembangkan pada tahun 1965 di Darmounth Collage. Basic merupakan bahasa yang sangat populer sebelum bahasa pascal diciptakan.
Keunggulan BASIC terletak pada kemudahan untuk dipakai. Namun, BASIC mulai ditinggalkan saat karena berbentuk intrepreter. Oleh karena itu, kecepatanya lambat bukan main.
BASIC menjadi populer kembali setelah Microsoft mengeluarkan Visual Basic. Sebagaimana diketahui, Visual Basic adalah perangat lunak yang mendukung pemrograman visual dan samapai saat buku ini ditulis masih sangat populer.
2.5.2.7  Pascal
Bahasa ini awalnya digunakan untuk mengenalkan pemrograman terstruktur. Bahkan pascal menggeser FORTRAN dan BASIC.
Keunggulan bahasa ini terletak pada hal-hal berikut :
§  Kemudahan untuk dipelajari
§  Dukungan fungsi-fungsi matematika yang sangat lengkap.
Kelemhan pascal dalah sebagai berikut :
§  Tidak mendukung operasi bilangan kompleks.
§  Tidak mendukung sarana untuk aplikasi bisnis.
Pascal merupakan bahasa yang dipakai sebagai landasan pembuatan kode pada perangkat lunak Delphi dan Kylix. Delphi mrupakan suatu perangkat lunak pengembangan program yang sangat populer di lingkungan Windows dan Xylix adalah perangkat lunak serupa yang berjalan dilingkungan Linux.

2.5.2.8  FORTH
FORTH (FOuRTH-generation langage) tergolong sebagai bahasa generasi ketiga. Bahasa ini cocok untuk menangani akuisisi data yang melibatjan sensor ataupun untuk pengenalan robotika. Kelebihan bahasa ini terletak pada kemampuan memproses yang sangat cepat.
2.5.2.9  C­­++
C++ merupakan bahasa pemrograman berorientasi objek yang sangat terkenal. Dilingkungan Windows, Visual C++ merupakan perangkat lunak yang dapat dipakai untuk membuat aplikasi saja, termasuk untuk menangani basis data.
2.5.2.10                       dBASE
dBase merupakan bahasa pemrograman berorientasi basis data yang mengawali kepopuleran DBMS (DataBase Management System) dilingkungan mikrokomputer. Namun, belakangan ini dBASE mulai tergeser untuk digunakan salam menyusun aplikasi bisnis karena muncul beberapa DBMS yang lebih andal. Slain itu, database yang ditawarkan tidak aman karena mudah untuk dibaca secara langsung.
2.5.2.11    Java
Java merupakan bahasa berorientasi objek dan serbaguna. Kode java dikomplikasi dalam format yang disebut bytecode. Java sangat populer karena pada masa awal internet menjadi populer, java telah menyediakan sarana untuk membuat prigram yang disbut applet yang berjalan pada web browser.
2.6         Pemrograman Berbasis Blok
Pada akhir dekade 2000-an muncul pemrograman yang berbasis blok. Konsepnya adalah seperti blok yang dipakai anak-anak untuk menyusun berbagai model seperti bangunan atau mobil.
2.6.1   Scratch
Scratch adalah bahasa pemrograman yang ditunjukan untuk anak-anak agar mereka bisa membuat program tanpa harus mempelajari penulisan kode teks. Mereka cukup merangkai blok-blok penyusun program, yang tersedia di scratch dan dapat dipakai untuk membuat permainan (game), animasi, dan program-program kreatif lainnya. Program scratch juga dapat digunakan untuk mengendalikan robot.
2.6.2        App Inventor
App Inventor adalah perangkat aplikasi yang dipakai untuk mengembangkan aplikasi untuk di ponsel dan tablet yang berbasis android.
2.6.3        Alice
Alice adalah perangkat lunak buatan Universitas Carnagie Mellon yang ditujukan untuk mempelajari pembuatan aplikasi grafik berdimensi tiga.

Tidak ada komentar:

Posting Komentar