Sistem Informasi Akuntansi (SIA) adalah suatu komponen organisasi yang mengumpulkan, mengklasifikasikan, mengolah, menganalisa dan mengkomunikasikan informasi finansial dan pengambilan keputusan yang relevan bagi pihak luar perusahaan dan pihak ekstern.
Ada beberapa perbedaan sistem informasi yang diterapkan perusahaan. Salah satu sistem informasi yang sangat diperlukan bagi manajemen untuk mengolah data administrasi dan keuangan adalah sistem informasi akuntansi. Perbedaan tersebut sebenarnya hanya terletak pada penekanannya saja, namun pada dasarnya tetap mengandung pengertian yang sama.
Akuntansi sendiri sebenarnya adalah sebuah Sistem Informasi.
Karakteristik SIA yang membedakannya dengan subsistem CBIS lainnya :
SIA melakasanakan tugas yang diperlukan
Berpegang pada prosedur yang relatif standar
Menangani data rinci
Berfokus historis
Menyediakan informasi pemecahan minimal
Fungsi penting yang dibentuk Sistem Informasi Akuntansi pada sebuah organisasi antara lain :
Mengumpulkan dan menyimpan data tentang aktivitas dan transaksi.
Memproses data menjadi into informasi yang dapat digunakan dalam proses pengambilan keputusan.
Melakukan kontrol secara tepat terhadap aset organisasi.
Subsistem Sistem Informasi Akuntansi memproses berbagai transaksi keuangan dan transaksi nonkeuangan yang secara langsung memengaruhi pemrosesan transaksi keuangan.
Sistem Informasi Akuntansi terdiri dari 3 subsistem:
Sistem pemrosesan transaksi, mendukung proses operasi bisnis harian.
Sistem buku besar/pelaporan keuangan, menghasilkan laporan keuangan, seperti laporan laba/rugi, neraca, arus kas, pengembalian pajak.
Sistem pelaporan manajemen, yang menyediakan pihak manajemen internal berbagai laporan keuangan bertujuan khusus serta informasi yang dibutuhkan untuk pengambilan keputusan, seperti anggaran, laporan kinerja, serta laporan pertanggungjawaban.
Tujuan Sistem Informasi Akuntansi
Tujuan penyusunan sistem informasi akuntansi adalah sama dengan tujuan penyusunan sistem akuntansi antara lain :
a. Untuk menyediakan informasi bagi pengelola kegiatan usaha baru.
b. Untuk memperbaiki informasi yang dihasilkan oleh sistem yang sudah ada, baik mengenai mutu, Ketepatan penyajian maupun struktur informasi
c. Untuk memperbaiki pengendalian akuntansi & pengecekan intern, yaitu untuk memperbaiki tingkat keandalan (realibility) informasi akuntansi dan untuk menyediakan catatan lengkap mengenai pertanggung jawaban dan perlindungan kekayaan perusahaan.
Tujuan di atas dapat dijelaskan bahwa biasanya perusahaan baru memulai usahanya sangat memerlukan penyusunan sistem informasi akuntansi yang lengkap. Namun, adakalanya sistem informasi akuntansi yang sudah ada tidak dapat memenuhi kebutuhan manajemen, baik dalam hal mutu, ketepatan penyajian maupun struktur informasi yang terdapat dalam laporan. Dengan memperbaiki pengawasan akuntansi dan pengendalian intern, maka pertanggungjawaban terhadap penggunaan kekayaan organisasi dapat dilaksanakan dengan baik serta informasi yang dihasilkan oleh sistem tersebut dapat
Berbagai transaksi non keuangan yang tidak bisa diproses oleh Sistem Informasi Akuntansi biasa, diproses oleh Sistem Informasi Manajemen. Adapun perbedaan keduanya adalah :
SIA mengumpulkan mengklasifikasikan, memproses, menganalisa dan mengkomunikasikan informasi keuangan
SIM mengumpulkan mengklasifikasikan, memproses, menganalisa dan mengkomunikasikan semua tipe informasi
Sebuah Sistem Informasi Akuntansi menambah nilai dengan cara:
Menyediakan informasi yang akurat dan tepat waktu sehingga dapat melakukan aktivitas utama pada value chain secara efektif dan efisien.
Meningkatkan kualitas dan mengurangi biaya produk dan jasa yang dihasilkan
Meningkatkan efisiensi
Meningkatkan kemampuan dalam pengambilan keputusan
Meningkatkan sharing knowledge
Menambah efisiensi kerja pada bagian keuangan
komponen Sistem Informasi Akuntansi antara lain :
Spesialis Informasi
Akuntan
Informasi Akuntansi yang dihasilkan oleh Sistem Informasi Akuntansi dibedakan menjadi 2, yaitu :
Informasi Akuntansi keuangan, berbentuk laporan keuangan yang ditujukan kepada pihak extern.
Informasi Akuntansi Manajemen, berguna bagi manajemen dalam pengambilan keputusan.
Sistem informasi adalah serangkaian prosedur formal di mana data dikumpulkan, diproses menjadi informasi dan didistribusikan ke para pengguna.
Adapun kerangka kerja sistem informasi dibagi menjadi 2 yang utama yaitu : Sistem Informasi Manajemen dan Sistem Informasi Akuntansi.
ubsistem sistem informasi akuntansi terdiri dari 5 sistem, yaitu :
1. Sistem Pengeluaran (expenditure system)
Segala peristiwa yang berhubungan dengan usaha mendapatkan sumber-sumber ekonomis yang diperlukan oleh perusahaan, baik berupa barang ataupun jasa, baik pemasok dari luar maupun dari karyawan didalam perusahaan.
2. Sistem Pendapatan (revenue system)
Berhubungan dengan penjualan barang atau jasa yang dihasilkan oleh perusahaan kepada konsumen dan mendapatkan pembayaran dari mereka.
3. Sistem Produksi (production systeme)
Berhubungan dengan pengumpulan, penggunaan dan pengubahan bentuk suatu sumber ekonomi.
4. Sistem Manajemen Sumber Daya (resources management system)
Meliputi peristiwa-peristiwa yang berkaitan dengan manajemen dan pengendalian sumber daya seperti investasi dan aktiva tetap (fasilitas).
5. Sistem Buku Besar dan Laporan Keuangan (general ledger and financial accounting)
Berhubungan dengan transaksi keuangan dan ayat jurnal penyesuaian yang terjadi dalam siklus akuntasi.
Akuntansi pada dasarnya terdiri dari tiga proses aktivitas, yaitu : mengidentifikasi, mencatat dan mengkomunikasikan kejadian ekonomi dari sebuah organisasi atau perusahaan. Proses pertama adalah identifikasi, yaitu aktivitas memilih kegiatan yang termasuk kegiatan ekonomi. Proses kedua adalah pencatatan, yaitu semua kejadian ekonomi tersebut dicatat untuk menyediakan sejarah dari kegiatan keuangan dari organisasi tersebut. Proses ketiga adalah komunikasi, yaitu informasi yang telah didapat dari identifikasi dan pencatatan tidak akan berguna bila tidak dikomunikasikan, informasi ini dikomunikasikan melalui persiapan dan distribusi dari laporan akuntansi, yang paling umum disebut laporan keuangan.
Siklus akuntansi adalah tahapan kegiatan yang dilalui dalam melaksanakan kegiatan akuntansi. Proses tersebut berjalan terus menerus dan berulang kembali sehingga merupakan suatu siklus.
Setiap sistem informasi akuntansi akan melaksanakan lima fungsi utamanya yaitu :
a. Mengumpulkan dan menyimpan data dari semua aktivitas dan transaksi perusahaan
b. Memproses data menjadi informasi yang berguna pihak manajemen.
c. Memanajemen data-data yang ada kedalam kelompok-kelompok yang sudah ditetapkan oleh perusahaan.
d. Mengendalikan kontrol data yang cukup sehingga aset dari suatu organisasi atau perusahaan terjaga.
Penghasil informasi yang menyediakan informasi yang cukup bagi pihak manajemen untuk melakukan perencanaan, mengeksekusi perencanaan dan mengkontrol aktivitas.
Salah satu tujuan dari pengembangan sistem informasi akuntansi adalah menambah nilai bagi perusahaan. Sistem informasi akuntansi dapat memberi nilai tambah dengan :
a. Memberikan informasi yang akurat dan tepat waktu.
b. Penerapan sistem informasi akuntansi meningkatkan efektivitas dan efisiensi biaya dalam mengumpulkan informasi ekonomi.
c. Membantu serta meningkatkan kualitas keputusan yang akan diambil oleh pihak manajemen.
d. Meningkatkan pembagian pengetahuan (knowledge sharing).
Tinjauan Mengenai Sistem Informasi Akuntansi
Akuntansi merupakan bahasa bisnis. Sebagai bahasa bisnis akuntansi menyediakan
cara untuk menyajikan dan meringkas kejadian-kejadian bisnis dalam bentuk
informasi keuangan kepada pemakainya.
Informasi akuntansi merupakan bagian terpenting dari seluruh informasi yang
diperlukan oleh manajemen. Informasi akuntansi yang dihasilkan oleh suatu sistem
dibedakan menjadi dua, yaitu informasi akuntansi keuangan dan informasi akuntansi
manajemen.
Pemakai informasi akuntansi pun terdiri dari dua kelompok, yaitu pemakai eksternal
dan pemakai internal. Yang dimaksud dengan pemakai ekseternal mencakup
pemegang saham, investor, kreditor, pemerintah, pelanggan, pemasok, pesaing,
serikat kerja dan masyarakat. Sedangkan pemakai internal adalah pihak manajer dari
berbagai tingkatan dalam organisasi bersangkutan.
Sistem Informasi Akuntansi(SIA) dapat didefinisikan sebagai sebuah sistem informasi
yang merubah data transaksi bisnis menjadi informasi keuangan yang berguna bagi
pemakainya.
Adapun tujuan Sistem Informasi Akuntansi adalah sebagai berikut:
1. mendukung operasi-operasi sehari-hari
2. mendukung pengambilan keputusan manajemen
3. memenuhi kewajiban yang berhubungan dengan pertanggungjawaban
2.
Siklus Akuntansi
Sistem Informasi Akuntansi memiliki beberapa sistem-sistem bagian (sub-system)
yang berupa siklus-siklus akuntansi. Siklus akuntansi menunjukkan prosedur
akuntansi mulai dari sumber data sampai ke proses pencatatan/pengolahan
akuntansinya. Siklus akuntansi dibagi menjadi:
1. Siklus pendapatan
2. Siklus pengeluaran kas
3. Siklus konversi
4. Siklus manajemen Sumber Daya Manusia (SDM)
5. Siklus buku besar dan laporan keuangan
3.
Contoh Sistem Informasi Akuntansi
Ada beberapa sistem informasi akuntansi yang sudah dikembangkan oleh berbagai
perusahaan. Ada yang mengembangkan secara umum, ada yang mengembangkan
berdasarkan kasus per kasus dalam suatu organisasi. Contoh sistem informasi
akuntansi yang dikembangkan secara umum adalah: Dec Easy Accounting(DEA) dan
MYOB. Sedangkan contoh sistem informasi akuntansi yang dikembangkan
berdasarkan kasus dalam organisasi adalah Surya Artha yang dibuat oleh CV. Surya
Cipta Solusi Informatika. Pada makalah ini akan ditunjukkan lebih rinci mengenai
Surya Artha.Surya Artha dikembangkan untuk perusahaan dagang. Sistem ini menangani
pemrosesan data antara lain: data rekening, data supplier, data pelanggan, data
barang/stok, transaksi pembelian tunai dan kredit, transaksi retur pembelian,
transaksi penerimaan dan pembayaran utang yang bukan dari pembelian, transaksi
penjualan tunai dan kredit, transaksi retur penjualan, transaksi penerimaan dan
pembayaran piutang yang bukan dari penjualan, transaksi jurnal umum, transaksi
penyesuaian saldo awal dan tutup buku, laporan-laporan transaksi, laporan-laporan
keuangan.
4. PENGENDALIAN INTERN
Pengendalian intern suatu perusahaan meliputi struktur organisasi dan semua cara-
cara serta alat-alat yang dikoordinasikan yang digunakan dalam perusahaan dengan
tujuan untuk:
a. menjaga keamanan harta milik perusahaan
b. memeriksa ketelitian dan kebenaran data akuntansi
c. memajukan efisiensi dalam usaha
d. mendorong dipatuhinya kebijaksanaan manajemen yang telah ditetapkan
terlebih dahuluPengendalian intern diperlukan karena beberapa alasan, yaitu:
a. SIA merupakan suatu system yang terbuka
b. Mencegah terjadinya hal-hal yang tidak diinginkan (kesalahan-kesalahan
atau kecurangan-kecurangan)
c. Melacak kesalahan-kesalahan yang sudah terjadi
Sistem Pengendalian Intern dibagi 2 yaitu:
a. Pengendalian akuntansi / pengendalian pencegahan
1. Pengendalian secara umum
2. Pengendalian aplikasi
b. Pengendalian administratif
1. Pengendalian umpan balik
2. Pengendalian umpan maju
4.1 Pengendalian Akuntansi
Tujuan utama dari pengendalian akuntansi adalah:
1. menjaga keamanan harta kekayaan milik perusahaan
2. memeriksa ketepatan dan kebenaran data akuntansi
Pengendalian akuntansi perlu dirancang sedemikian rupa, sehingga memberikan
jaminan yang cukup beralasan atau meyakinkan terhadap:
1.
Transaksi-transaksi dilaksanakan sesuai dengan wewenang manajemen,
baik yang sifatnya umum maupun yang sifatnya khusus
2.
Transaksi-transaksi perlu dicatat untuk :
a. Penyusunan laporan keuangan
b. Menjaga pertanggungjawaban atas kekayaan
Pemakaian harta kekayaan perusahaan hanya diijinkan bila ada
3.
wewenang dari manajemen
4.
Bahwa harta kekayaan perusahaan menurut catatan sama besarnya
dengan kekayaan riil
4.2 Pengendalian Administratif
Pengendalian administratif memiliki tujuan utama:
1. meningkatkan efisiensi operasi kegiatan
2. mendorong ditaatinya kebijaksanaan-kebijaksanaan perusahaan
sumber : Kusrini, S.Kom,STMIK AMIKOM Yogyakarta.
Kemajuan TI telah mengubah cara perusahaan dalam mengumpulkan data, memproses dan melaporkan informasi keuangan Oleh karena itu auditor akan banyak menemukan lingkungan dimana data tersimpan lebih banyak dalam media elektronik dibanding media kertas. Auditor harus menentukan bagaimana perusahaan menggunakan systemTI untuk meng-inisiasi, mencatat, memproses dan melaporkan transaksi dalam laporan keuangan. Sebenarnya tidak ada perbedaan konsep audit yang berlaku untuk system yang kompleks dan system manual, yang berbeda hanyalah metode-metode spesifik yang cocok dengan situasi system informasi akuntansi yang ada. Pemahaman ini diperlukan dalam rangka mendapatkan pemahaman internal control yang baik agar dapat merencanakan audit dan menentukan sifat, timing dan perluasan pengujian yang akan dilakukan.
Statement on Auditing Standar (AICPA) dan Standar Profesional Akuntan Publik (IAI) juga mengatur masalah ini. Beberapa item dalam standar audit tersebut mengatur tata cara audit dalam lingkungan system informasi berbasis computer. Menurut standar pada dasarnya auditor keuangan melakukan pengujian berikut: 1).Uji kepatuhan terhadap prosedur yang berlaku (otorisasi, kelengkapan, keakuratan), 2). Uji Substantif (Uji terhadap transaksi dan hasil pengolahan), dan 3). Pengolahan kembali transaksi dalam prosedur pengujian kepatuhan atau substantive. Tentunya luasnya pengujian terkait dengan resiko deteksi yang dapat diterima oleh auditor. Jenis dan luas pengujian tidak tergantung besarnya perusahaan tetapi ditentukan oleh kompleksitas lingkungan TI yang ada seperti luasnya system on-line yang digunakan, tipe dan signifikansi transaksi keuangan, serta sifat dokumen / database, serta program yang digunakan.
Beberapa contoh situasi yang memerlukan pengujian pengendalian control
1. System TI yang digunakan untuk otomasi: proses inisiasi, recording, prosessing dan pelaporan keuangan seperti ERP
2. Electronic data interchange dan payment transfer system yang secara elektronik men-transmit order dan pembayaran
3. Program computer yang berisi algoritma dan formula yang melakukan kalkulasi otomatis seperti komisi, allowance for doubtful account, reorder point, loan reserve dan kalkulasi dana pensiun
Pengujian Pengendalian
Pengujian pengendalian dilakukan dengan mengidentifikasi aktivitas control(policy dan procedure) yang ada untuk mencegah dan mendeteksi kesalahan saji material dalam laporan keuangan. Dua aktivitas utama yang diuji adalah pengendalian terkait dengan pemrosesan informasi yaitu general control dan application control. General control terkait dengan semua aktivitas computer dan termasuk control atas system development, access security, program change, data center dan network dan maintenance. Aplication control berhubungan dengan task spesifik yang dilakukan individual aplikasi. Termasuk didalam prosedur cek dengan TI misalnya edit check saat input data dan check yang dilakukan oleh individu termasuk manual follow-up rekonsiliasi atau exception reportPengujian pengendalian bertujuan, mengumpulkan bukti tentang seberapa efektif dan konsisten prosedur pengendalian berjalan. Pengujian ini dilakukan dengan wawancara, inspeksi dokumen terkait atau inspeksi file elektronik terkait, observasi penerapan pengendalian dan pemrosessan ulang transaksi.Dalam mendesign pengujian automated control (computerised control / application control), auditor harus mempertimbangkan kebutuhan untuk mendapatkan bukti pendukung atas efektifitas pengendalian operasi secara langsung maupun tak langsung terkait dengan asersi atas laporan keuangan Teknik yang digunakan untuk pengujian tentu saja berbeda dengan teknik pengujian manual.
Ada beberapa teknik audit untuk mengetes automated control. Auditor dapat menggunakan tiga kategori berikut dalam menguji pengendalian biasa juga disebut sebagai teknik audit berbantuan computer (Computer Assisted Audit Techniques/CAAT) yang terdiri atas:
Auditing Around the Computer
Dengan teknik ini auditor menguji reliability dari computer generated information dengan terlebih dahulu menghitung hasil yang diinginkan dari transaksi yang dimasukkan dalam system, dan kemudian membandingkan hasil perhitungan dengan hasil proses atau output. Jika terbukti akurat dan valid, maka diasumsikan bahwa system pengendalian berfungsi seperti yang seharusnya.
Kondisi ini cocok jika system aplikasi otomasi sederhana dan ringkas. Pendekatan ini masih relevan dipakai di perusahaan yang menggunakan software akuntansi yang bervariasi dan melakukan proses secara periodic, dan jika audit trail yang tersedia sangat banyak, sehingga memungkin untuk tracing output ke inputnya semula. Kelemahan auditing around the computer adalah tidak menentukan apakah program logic benar, dan tidak dapat menyingkap bagaimana terjadinya system memberikan automated control respon terhadap data transaksi yang mengandung error. Oleh karena itu dalam lingkungan TI yang kompleks pendekatan ini dapat menyebabkan terlewatnya potensial significant error dan mungkin tidak efektif dalam membatasi resiko deteksi sampai level yang dapat diterima
Auditing With the Computer
Adalah auditing dengan pendekatan computer, menggunakan teknik yang bervariasi yang biasa juga disebut Computer Assisted audit Technique. Penggunaan CAAT telah meningkatkan secara dramatis kapabilitas dan efektifitas auditor, dalam melakukan susbstantif test. Salah satu CAAT yang lazim dipakai adalah general audit software (GAS). GAS sering dipakai untuk melakukan substantive test dan digunakan test of control yang terbatas. Sebagai contoh GAS sering dipakai untuk mengetes fungsi algoritma yang komplek dalam program computer. Tetapi ini memerlukan pengalaman yang luas dalam penggunaan software ini.
Audit Through the Computer
Teknik ini focus pada testing tahapan pemrosesan computerised, logic program, edit routines dan program controls. Pendekatan ini mengasumsikan bahwa jika program pemrosesan dikembangkan dengan baik, dan memenuhi edit routines dan programme check yang memadai, maka error dan kecurangan tidak akan mudah terjadi tanpa terdeteksi.
Pendekatan audit melalui computer cocok untuk pengujian pengendalian (test of control) dalam lingkungan TI yang kompleks. Pendekatan ini mengadopsi “family of technic” seperti a). Test of data technique, b). Parallel simulation, 3) Integrated test facility (ITF), dan 4). Embedded audit module. Sejak diterbitkannya SAS No 94. tahun 2001, penggunaan audit through the computer meningkat.Test of data technique dan parallel simulation termasuk pendekatan audit non-continous. Sedangkan ITF dan embedded audit module merupakan pendekatan audit continous. Pendekatan continous audit relevan bagi perusahaan yang melaporkan keuangan transaksi secara real time. Sedangkan non-continous audit teknik relevan bagi perusahaan yang menggunakan pelaporan keuangan periodic dari aplikasi pemrosesan transaksi. Saat ini sebagian besar perusahaan menerapkan pelaporan periodic. Dimasa depan sebagian besar bisa jadi menggunakan keduanya. Oleh karena itu kedua pendekatan ini penting dalam menilai reliabilitas internal control dan pelaporan informasi keuangan.
1. Pengertian piutang
Piutang merupakan suatu proses yang penting, yang dapat menunjukkan satu bagian yang besar dari harta likuid perusahaan.
Kieso dan Weygandt mendefinisikan pengertian piutang sebagai berikut : Receivables are claims held against customers and others for money, goods, or services.
Sedangkan pengertian piutang menurut S.Hadibroto adalah : Piutang merupakan klaim terhadap pihak lain, apakah klaim tersebut berupa uang, barang atau jasa, untuk maksud akuntansi istilah dipergunakan dalam arti yang lebih sempit yaitu merupakan klaim yang diharapkan akan diselesaikan dengan uang. Penjelasan definisi di atas diketahui bahwa piutang secara luas diartikan sebagai tagihan atas segala sesuatu hak perusahaan baik berupa uang, barang maupun jasa atas pihak ketiga setelah perusahaan melaksanakan kewajibannya, sedangkan secara sempit
piutang diartikan sebagai tagihan yang hanya dapat diselesaikan dengan diterimanya uang di masa yang akan datang.
Pada umumnya piutang timbul ketika sebuah perusahaan menjual barang atau jasa secara kredit dan berhak atas penerimaan kas di masa mendatang, yang prosesnya dimulai dari pengambilan keputusan untuk memberikan kredit kepada langganan, melakukan pengiriman barang, penagihan dan akhirnya menerima pembayaran, dengan kata lain piutang dapat juga timbul ketika perusahaan memberikan pinjaman uang kepada perusahaan lain dan menerima promes atau wesel, melakukan suatu jasa atau transaksi lain yang menciptakan suatu hubungan dimana satu pihak berutang kepada yang lain seperti pinjaman kepada pimpinan atau karyawan. Piutang merupakan salah satu elemen yang paling penting dalam modal kerja suatu perusahaan. Sebagian piutang dapat dimasukkan dalam modal kerja yaitu bagian piutang yang terdiri dari dana yang diinvestasikan dalam produk yang terjual dan sebagian lain yang termasuk modal kerja potensial yaitu bagian yang merupakan keuntungan.
Piutang merupakan elemen modal kerja yang selalu dalam keadaan berputar secara terus menerus dalam rantai perputaran modal kerja yaitu Kas -------- persediaan ---- piutang ------ kas. Dalam keadaan normal dan dimana penjualan pada umumnya dilakukan dengan kredit, piutang mempunyai tingkat likuiditas yang lebih tinggi dari pada persediaan, karena perputaran dari piutang ke kas membutuhkan satu langkah, yang penting kebijaksanaan kredit yang efektif dan prosedur-prosedur penagihan untuk menjamin penagihan piutang yang tepat pada waktunya dan mengurangi kerugian akibat piutang tak tertagih.
2. Klasifikasi piutang
Pada umumnya piutang bersumber dari kegiatan operasi normal perusahaan yaitu penjualan kredit atas barang dan jasa kepada pelanggan, tetapi selain itu masih banyak sumber-sumber yang dapat menimbulkan piutang.
Smith and Skousen memberikan klasifikasi piutang terdiri atas “piutang dagang (trade receivables) dan piutang bukan dagang”.
Piutang dagang
a. Wesel tagih atau notes receivables
Wesel tagih ini didukung oleh suatu janji formal tertulis untuk membayar.
b. Piutang usaha atau accounts receivables
Piutang usaha merupakan piutang dagang yang tidak dijamin “rekening terbuka”. Piutang dagang merupakan suatu perluasan kredit jangka pendek kepada pelanggan. Pembayaran-pembayarannya biasanya jatuh tempo dalam tiga puluh sampai sembilan puluh hari. Perjanjian kreditnya merupakan persetujuan informal antara penjual dan pembeli yang didukung oleh dokumen-dokumen perusahaan yaitu faktur dan kontrak-kontrak penyerahan. Biasanya piutang dagang tidak mencakup bunga, meskipun bunga atau biaya jasa dapat saja ditambahkan bilamana pembayaran tidak dilakukan dalam periode tertentu, dengan kata lain piutang dagang merupakan tipe piutang paling besar.
Piutang bukan dagang
Piutang bukan dagang ini meliputi seluruh tipe piutang lainnya dan mempunyai beberapa transaksi-transaksi yaitu :
a. Penjualan surat berharga atau pemilik selain barang dan jasa.
b. Uang muka kepada pemegang saham, para direktur, pejabat, karyawan dan perusahaan-perusahaan affiliasi.
c. Setoran-setoran kepada kreditur, perusahaan kebutuhan umum dan instansi-instansi lainnya. 2002 digitized by USU digital library 6
d. Pembayaran dimuka pembelian-pembelian.
e. Setoran-setoran untuk menjamin pelaksanaan kontrak atau pembayaran biaya.
f. Tuntutan atas kerugian atau kerusakan.
g. Saham yang masih harus disetor.
h. Piutang deviden dan bunga.
Piutang bukan dagang umumnya didukung dengan persetujuan-persetujuan formal dan secara tertulis. Piutang bukan dagang harus diikhtisarkan dalam perkiraan-perkiraan yang berjudul sesuai dan dilaporkan secara terpisah dalam laporan keuangan.
D. Sistem Informasi Akuntansi Penagihan Piutang
Penagihan piutang dari penjualan kredit dapat dilakukan melalui berbagai cara, antara lain :
1. Fungsi yang terkait dalam sistem penagihan piutang dari penjualan kredit.
2. Dokumen yang digunakan dalam sistem penagihan piutang.
3. Sistem penagihan piutang melalui penagih perusahaan dilaksanakan dengan prosedur.
Ad.1. Fungsi yang terkait dalam sistem penagihan piutang dari penjualan kredit
Fungsi yang terkait dalam sistem penagihan piutang dari penjualan kredit adalah :
a. Fungsi secretariat
Fungsi ini bertanggungjawab dalam penerimaan cek dan surat pemberitahuan atau remittance advice melalui pos dan para debitur perusahaan. Fungsi ini juga bertugas membuat daftar surat pemberitahuan yang diterima bersama dari para debitur dan fungsi ini berada di tangan bagian sekretariat.
b. Fungsi penagihan
Fungsi ini bertanggungjawab untuk melakukan penagihan kepada para debitur perusahaan berdasarkan daftar piutang yang ditagih yang dibuat oleh fungsi akuntansi dan fungsi ini berada di tangan bagian penagihan.
c. Fungsi kas
Fungsi ini bertanggungjawab atas penerimaan cek dari fungsi sekretariat atau fungsi penagihan dan menyetorkan kas yang diterima dari berbagai fungsi tersebut segera ke bank dalam jumlah penuh dan fungsi ini berada di tangan bagian kas.
d. Fungsi akuntansi
Fungsi ini bertanggungjawab dalam pencatatan penerimaan kas dari piutang ke dalam jurnal penerimaan kas dan berkurangnya piutang ke dalam kartu piutang, dan fungsi ini berada di tangan bagian akuntansi.
e. Fungsi pemeriksa intern
Fungsi ini bertanggungjawab dalam melaksanakan perhitungan yang ada di tangan fungsi kas secara periodik, dan melakukan rekonsiliasi bank, untuk mengecek ketelitian catatan kas yang diselenggarakan oleh fungsi akuntansi, dan fungsi ini berada di tangan bagian pemeriksa intern.
Ad.2. Dokumen yang digunakan dalam sistem penagihan piutang
Dokumen yang digunakan dalam sistem penagihan piutang adalah :
1) Surat pemberitahuan
2) Daftar surat pemberitahuan
3) Bukti setor bank
4) Kuitansi.
Surat pemberitahuan merupakan dokumen untuk memberitahu maksud pembayaran yang akan dilakukan. Daftar surat pemberitahuan merupakan rekapitulasi penerimaan kas. Bukti setor bank merupakan bukti penyetoran kas yang diterima dari piutang ke bank. Kuitansi merupakan bukti penerimaan kas yang dibuat oleh perusahaan bagi para debitur yang telah melakukan pembayaran utang mereka.
Ad.3. Sistem penagihan piutang melalui penagih perusahaan dilaksanakan dengan prosedur
Sistem penagihan piutang melalui penagih perusahaan dilaksanakan dengan prosedur adalah :
1) Penerimaan piutang mengirimkan daftar piutang yang sudah saatnya ditagih kepada bagian penagihan.
2) Bagian penagihan mengirimkan penagih untuk melakukan penagihan kepada debitur.
3) Bagian penagihan menerima cek atas nama dalam surat pemberitahuan dari debitur.
4) Bagian penagihan menyerahkan surat pemberitahuan kepada bagian piutang untuk kepentingan posting ke dalam kartu piutang.
5) Bagian kas mengirim kuitansi sebagai tanda penerimaan kas kepada debitur.
6) Bagian kas menyetor ke bank, setelah cek atas cek tersebut dilakukan endorsement oleh pejabat yang berwenang.
7) Bank perusahaan melakukan clearing atas cek tersebut ke bank debitur.
Sistem pengendalian intern yang baik mengharuskan agar semua penerimaan kas dari debitur harus dalam bentuk cek atas nama atau giro bilyet. Penerimaan kas dari debitur dalam bentuk uang tunai memberikan peluang kepada penagih untuk melakukan penyelewengan. Bentuk penerimaan kas melalui penagih perusahaan ini yang biasa dilaksanakan di Indonesia, sedangkan bentuk lain masih jarang dilakukan.
E. Prosedur Pengendalian dan Pemantauan atau Monitoring Piutang
1. Prosedur Pengendalian Piutang
Salah satu dari model struktur pengendalian intern terdiri dari tiga unsur dan lima unsur pokok struktur pengendalian intern adalah prosedur pengendalian dan pemantauan atau monitoring. Prosedur pengendalian adalah
Kebijakan dalam prosedur sebagai tambahan terhadap lingkungan pengendalian dan system akuntansi yang telah diciptakan oleh manajemen untuk memberikan keyakinan memadai bahwa tujuan tertentu satuan usaha akan tercapai. Prosedur pengendalian memiliki berbagai macam tujuan dan diterapkan dalam berbagai tingkat organisasi. Prosedur pengendalian dapat dikelompokkan ke dalam prosedur yang antara lain adalah :
a. Otorisasi yang semestinya atas transaksi dan kegiatan
b. Pemisahan tugas yang mengurangi kesempatan yang memungkinkan seseorang dalam posisi yang dapat melakukan dan sekaligus menutupi kekeliruan atau ketidakberesan dalam pealksanaan tugasnya sehari-hari. Oleh karena itu, tanggung jawab untuk memberikan otorisasi transaksi, mencatat transaksi dan menyimpan aktiva perlu dipisahkan di tangan karyawan yang berbeda.
c. Perancangan dan penggunaan dokumen dan catatan yang memadai untuk membantu pencatatan transaksi secara semestinya, misalnya dengan memantau penggunaan dokumen pengiriman barang yang bernomor urut tercetak.
d. Pengamanan yang cukup atas akses dan penggunaan aktiva perusahaan dan catatan, misalnya penetapan fasilitas yang dilindungi dan otorisasi untuk akses ke program dan arsip data komputer.
e. Pengecekan secara bebas atas pelaksanaan dan penilaian yang semestinya atas jumlah yang dicatat, misalnya pengecekan atas kerjaan klerikal, rekonsiliasi, pembandingan aktiva yang ada dengan pertanggungjawaban yang tercatat, pengawasan dengan menggunakan program komputer, penelaahan oleh manajemen atas laporan yang mengikhtisarkan rincian akun seperti saldo piutang yang dirinci menurut umur piutang dan penelaahan oleh pemakai atas laporan yang dihasilkan oleh komputer.
Berkaitan dengan pemakaian komputer dalam sistem informasi akuntansi dewasa ini, maka perusahaan harus menerapkan pengendalian di lingkungan sistem yang terkomputerisasi.
Winarno memberikan dua kategori pengendalian di lingkungan system terkomputerisasi adalah :
1) Pengawasan aplikasi (atau sering disebut juga dengan pengawasan transaksi) merupakan pengawasan yang dirancang untuk menjamin bahwa (1) semua transaksi sudah mendapat otorisasi dan (2) semua transaksi sudah dicatat, diklasifikasi, diproses dan dilaporkan dengan teliti dan benar.
2) Pengawasan umum, ditujukan untuk mengawasi berbagai prosedur, kegiatan atau aktiva yang tidak secara langsung tercakup dalam pengawasan aplikasi.
Dalam pengawasan aplikasi meliputi tiga jenis pengawasan yaitu :
• Pengawasan masukan
Pengawasan masukan yaitu pengawasan yang ditujukan untuk kegiatan pencatatan transaksi, dengan pengawasan ini diharapkan setiap transaksi dicatat dengan teliti, lengkap dan segera.
• Pengawasan proses atau pengawasan pengolahan.
Pengawasan proses atau pengawasan pengolahan dilakukan setelah data diinput, dengan pengawasan ini diharapkan data diolah secara teliti dan lengkap, file dan program yang digunakan sudah benar, dan semua transaksi dan catatan lainnya dapat ditelusuri dengan mudah. Pengawasan proses terdiri dari empat kategori yaitu :
• Cek logika proses atau processing logic checks
• Kontrol setiap proses atau run-to-run control
• Cek file dan program
• Keterkaitan telusuran audit atau audit trail lingkages.
• Pengawasan keluaran
Pengawasan keluaran dirancang untuk menjamin keluaran yang dihasilkan oleh sistem sudah lengkap, benar dan didistribusi ke pemakai yang berhak. Pengawasan ini meliputi dua kegiatan yaitu mengkaji hasil pengolahan dan pengawasan distribusi laporan.
Pengawasan umum dirancang untuk melengkapi pengawasan aplikasi. Pengawasan ini meliputi berbagai prosedur, kegiatan dan penggunaan aktiva yang belum tercakup dalam pengawasan aplikasi terdiri dari :
• Praktik manajemen yang sehat meliputi perencanaan, penganggaran, pemilihan karyawan dan pengawasan atau supervisi terhadap karyawan.
• Pengawasan operasional yang bertujuan meningkatkan efisiensi pekerjaan tiap karyawan. Pengawasan ini meliputi tiga tahapan yaitu penetapan standar teknis, penilaian prestasi dan pengambilan keputusan terutama sebagai tindakan korektif.
2. Monitoring Piutang
Monitoring merupakan proses untuk menilai dari pelaksanaan struktur pengendalian intern yang telah berjalan. Monitoring merupakan pemantauan yang dilaksanakan oleh personil yang semestinya melakukan pekerjaan tersebut baik pada tahap desain maupun pengoperasian perusahaan, agar pada waktu yang tepat dapat menentukan apakah struktur pengendalian intern tersebut telah memerlukan perubahan karena terjadinya perubahan keadaan.
Kell et.al, mendefinisikan monitoring sebagai berikut : Monitoring is a process that accesses the quality of internal control structures performance over time. It involves by appropriate of the design operation of control on a suitable timely basis to determine that ICS is operating as intended and that it is modified as appropiate for changes in conditions.
Monitoring dapat dilakukan selama kegiatan berlangsung dan dapat dievaluasi secara periodik. Selama kegiatan berlangsung pengendalian intern penjualan dan penerimaan kas hasil penagihan piutang dilihat dari keluhan-keluhan yang diterima dari langganan seperti kesalahan billing, terlambatnya pengiriman barang atau kesalahan pembayaran di dalam lingkungan perusahaan sendiri. Oleh sebab itu,
perlu dilakukan pemantauan terhadap hasil kerja mereka biasanya dievaluasi secara periodik, karena manajemen akan melihat hasil laporan penjualan dan laporan penerimaan kas bulanan atau tahunan apakah sesuai dengan anggaran yang direncanakan. Pengendalian juga dilaksanakan oleh internal auditor, bila internal auditor mendapati kesalahan atau penyimpangan dalam pelaksanaan pengendalian intern penjualan dan penerimaan kas, maka harus segera melaporkan kelemahan tersebut pada manajemen atau komite audit. Manajemen juga dapat menerima informasi dari pihak ekstern seperti bank atau akuntan publik tentang kelemahan struktur pengendalian intern penjualan kredit dan penagihan piutang dalam perusahaan. Informasi yang diterima dari berbagai pihak akan menjadi bahan pertimbangan bagi manajemen untuk memperbaiki pelaksanaan pengendalian intern selanjutnya sehingga dapat memperbesar hasil penjualan dan jumlah penerimaan kas perusahaan.
Dalam unsure-unsur pengendalian intern, monitoring masih merupakan hal baru bagi perusahaan-perusahaan di Indonesia, mungkin baru perusahaan-perusahaan besar yang menerapkannya. Namun sebenarnya kegiatan monitoring telah berjalan dengan sendirinya dalam suatu perusahaan. Perusahaan sering memonitoring pelaksanaan pengendalian intern hanya apabila telah terjadi kesalahan yang fatal dan merugikan perusahaan baik dari segi prosedur kerja maupun dari besarnya laba yang diinginkan sebagai tujuan akhir perusahaan.
sumber : RUSTAM,Fakultas Ekonomi Jurusan Akuntansi Universitas Sumatera Utara.
Audit pada dasarnya adalah proses sistematis dan objektif dalam memperoleh dan mengevaluasi bukti-bukti tindakan ekonomi, guna memberikan asersi dan menilai seberapa jauh tindakan ekonomi sudah sesuai dengan kriteria berlaku, dan mengkomunikasikan hasilnya kepada pihak terkait.
Audit Sistem Informasi Akuntansi Keuangan berbasis TI merupakan proses pengumpulan dan evaluasi bukti-bukti untuk menentukan apakah sistem komputer yang digunakan telah dapat melindungi aset milik organisasi, mampu menjaga integritas data, dapat membantu pencapaian tujuan organisasi secara efektif, serta menggunakan sumber daya yang dimiliki secara efisien. Audit Sistem Informasi Akuntansi Keuangan dengan memanfaatkan TI relatif baru ditemukan dibanding audit keuangan, seiring dengan meningkatnya penggunaan TI untuk mensupport aktifitas bisnis.
Dalam pembahasan ini, penulis akan memaparkan audit SIMAK menggunakan e-Solution Financial. e-Financialsebagai sebuah program akuntansi keuangan yang dilengkapi dengan fitur drilling audit, yaitu sebuah fitur yang dapat melacak sumber transaksi dan memberikan informasi siapa yang mengentri data tersebut. Sehingga jika terdapat kesalahan pada transaksi tersebut auditor dapat mengetahuinya.
e-Financial memenuhi syarat sebagai software berbasis Audit TI adalah:
1. Memiliki pengendalian akuntansi yang baik seperti sistem otorisasi entri dan supervisi atas kejadian-kejadian ke-akuntasi-an di perusahaan
2. Security System yang memberikan keleluasaan didalam mendisain Job Description dan Access Rights masing-masing User, disamping fasilitas password
3. Memiliki fitur Tracing/Drilldown untuk pengendalian Akuntansi yang berorientasi Auditing, dan juga di dukung sistem pelaporan keuangan yang terstruktur mudah dipahami oleh pembaca Laporan Keuangan
SISTEM PENJUALAN
TUJUAN SISTEM PENJUALAN
Tujuan sistem penjualan adalah:
Mencatat order penjualan dengan cepat dan akuratUntuk memverifikasi konsumen yang layak menerima kreditUntuk mengirima produk dan memberikan jasa tepat waktu, sesuai yang dijanjikan kepada konsumenUntuk membuat tagihan atas produk dan jasa secara tepat waktu dan akuratUntuk mencatat dan mengelompokkan penerimaan kas secara cepat dan akuratUntuk memposting penjualan dan penerimaan kas ke rekening piutangUntuk menjaga keamanan produkUntuk menjaga kas perusahaan
INPUT SISTEM PENJUALAN
Order konsumen. Order yang dikirim oleh konsumenOrder penjualan. Sarana untuk merekam order konsumen yang dibuat oleh perusahaan.Order acknowledgment. Rangkap dari order penjualan yang dikirim ke konsumen untuk memberi tahu konsumen bahwa ordernya telah diterima.Picking list. Rangkap dari order penjualan yang dikirim ke bagian gudang sebagai sara untuk menyiapkan barang yang dipesan.Packing slip. Rangkap dari order penjualan yang disertakan dengan paket barang yang akan dikirim ke konsumen.Billing of ladding. Sarana untuk meminta agen transportasi (kurir) untuk mengirimkan barang perusahaan ke konsumen.Shipping notice. Rangkap dari order penjualan atau dokumen lain yang berfungsi sebagai bukti bahwa barang memang telah dikirimkan.Sales invoice. Faktur penjualan dikirimkan ke konsumen untuk menagih penjualan.Remittance advice. Dokumen yang menunjukkan jumlah kas yang diterima dari konsumen.Deposit slip. Slip setoran di bank.Back order. Dokumen yang dibuat pada saat jumlah persediaan tidak dapat memenuhi permintaan pesanan dari konsumen.Memo kredit. Dokumen yang berfungsi sebagai bukti kredit atas piutang konsumen, akibat retur penjualan.Aplikasi kredit. Formulir untuk merekam data dan informasi konsumen baru yang hendak mengajukan kredit.Salesperson call report. Formulir yang digunakan untuk merekam telpon yang dilakukan salesman untuk memprospek konsumen.Deliquent notice. Dokumen dikirimkan ke konsumen yang piutangnya telah lewat tanggal jatuh tempo.Write Off Notice. Dokumen yang dibuat oleh manajer kredit pada saat sebuah piutang sudah benar-benar macet.Cash register receipt. Formulir yang digunakan oleh toko pengecer untuk merekam kas yang diterima.
OUTPUT SISTEM PENJUALAN
Order konsumen yang belum terpenuhiJurnal penjualan (daftar faktur penjualan, urut nomor faktur)Daftar pengiriman barang urut per tanggal kirimJurnal penerimaan kasDaftar memo kreditDaftar umur piutang
PENGENDALIAN INTERNAL
Paparan Risiko yang dihadapi dalam siklus penjualan
Penjualan kredit kepada konsumen yang sebenarnya tidak layak menerima kredit, perusahaan dapat rugi karena piutang macet.Kelewat mecatat pengiriman barang atau mengirim barang dan lupa membuatkan tagihan (faktur). Perusahaan rugi karena tidak akan pernah menerima kas dari pengiriman tersebut.Kesalahan dalam membuat faktur (salah jumlah atau salah harga). Konsumen bisa marah atau perusahaan bisa rugi, menagih terlalu rendah.Salah posting, sehingga catatan akuntansi yang dihasilkan salah.Penjualan kredit fiktif, sehingga saldo penjualan dan piutang perusahaan menjadi terlalu besar.Pencurian produk jadi perusahaanPenghapusan piutang konsumen oleh karyawan yang tidak memiliki wewenang, sehingga perusahaan tidak akan pernah menerima kas dari piutang tersebut.Pencurian kas oleh orang yang bertanggung jawab untuk memegang kas.Lapping.Akses terhadap data piutang dan persediaan oleh orang yang tidak berwenang.Virus.Pencurian data konsumen (misal transaksi melalui web)Bertransaksi menggunakan kartu kredti curianKegagalan server.
Pengendalian Umum:Pengendalian organisasi. Prinsip umum, bagian pemegang harta kekayaan organisasi mesti terpisah dengan bagian pencatatan. Personel pengembang sistem (yang mengetik dan memodifikasi program) mesti terpisah dengan personel yang menggunakan dan mengoperasikan sistem.Pengendalian dokumentasi. Ada dokumentasi yang lengkap, seperti dokumentasi formulir yang digunakan, flowchart, struktur database, laporan dan output sistem, serta kebijakan manajermen terkait dengan persetujuan kredit, penghapusan piutang macet dan lain sebagainya.Rekonsiliasi aktiva dengan catatan perusahaan.Pengendalian praktik manajemen. Manajer mesti memperkerjakan programer dan akuntan yang kompeten. Pengembangan dan perubahan sistem mesti melalui prosedur yang jelas, ada persetujuan awal, pengujian dan penandatanganan perubahan. Audit atas siklus penjualan. Manajer mereview laporan-laporan yang dihasilkan sistem.Pengendalian otorisasi.Pengendalian akses. Meliputi terminal dengan fungsi yang terbatas, hanya untuk mencatat penjualan dan penerimaan kas; Log untuk merekam semua transaksi penjualan dan penerimaan kas pada saat user masuk ke dalam sistem; Backup secara rutin; Gudang yang terkunci.
Pengendalian AplikasiDokumen yang bernomor urut tercetak terkait dengan penjualan, pengiriman barang dan penerimaan kas.Validasi data yang diinputkan ke dalam aplikasi penjualanKoreksi kesalahan pada saat input data, sebelum data diproses lebih lanjut.
Contoh validasi data:Validity check (data nya sesuai tidak dengan yang ada di dalam master file)Self checking digitField check (type data)Limit checkRange checkSign checkCompleteness checkEcho check
Bekerja sama dengan PT Alfa Data Prima, Proweb menyediakan software Sistem Informasi Akuntansi berbasis web. Software ini dibuat dengan mengikuti prinsip-prinsip akuntansi yang berlaku di Indonesia dan juga sesuai dengan teknologi terkini yaitu berbasis web.
Program akuntansi ini dirancang bisa dipakai di intranet maupun internet. Dengan rancangan seperti ini maka Top Management dapat memantau keuangan perusahaan secara realtime kapan saja dan di mana saja selama ada jaringan internet. Dengan teknologi ini juga maka suatu perusahaan yang terdiri banyak cabang cukup memiliki satu server untuk program ini. Cabang-cabang bisa melakukan entry data melalui internet. Mengenai keamanan, program ini bisa dijalankan melalui SSL (Socket Secure Layar) dan VPN (Virtual Private Network). Secara teknis program ini memakai web server Apache, database MySQL dan bahasa pemrograman PHP. Mengenai OS (Operating Sistem) kami menganjurkan memakai Linux, tetapi jika client meminta memakai Windows, program kami juga bisa diinstall di Windows.
Program ini bisa diakses secara bersamaan dari berbagai komputer. Bagian penjualan, pembelian, inventory dapat melakukan entry secara bersama-sama. Program ini juga sudah dilengkapi dengan report-report layaknya program akuntansi.
TUJUAN SISTEM PENJUALAN
Tujuan sistem penjualan adalah:
Mencatat order penjualan dengan cepat dan akurat
Untuk memverifikasi konsumen yang layak menerima kredit
Untuk mengirima produk dan memberikan jasa tepat waktu, sesuai yang dijanjikan kepada konsumen
Untuk membuat tagihan atas produk dan jasa secara tepat waktu dan akurat
Untuk mencatat dan mengelompokkan penerimaan kas secara cepat dan akurat
Untuk memposting penjualan dan penerimaan kas ke rekening piutang
Untuk menjaga keamanan produk
Untuk menjaga kas perusahaan
INPUT SISTEM PENJUALAN
Order konsumen. Order yang dikirim oleh konsumen
Order penjualan. Sarana untuk merekam order konsumen yang dibuat oleh perusahaan.
Order acknowledgment. Rangkap dari order penjualan yang dikirim ke konsumen untuk memberi tahu konsumen bahwa ordernya telah diterima.
Picking list. Rangkap dari order penjualan yang dikirim ke bagian gudang sebagai sara untuk menyiapkan barang yang dipesan.
Packing slip. Rangkap dari order penjualan yang disertakan dengan paket barang yang akan dikirim ke konsumen.
Billing of ladding. Sarana untuk meminta agen transportasi (kurir) untuk mengirimkan barang perusahaan ke konsumen.
Shipping notice. Rangkap dari order penjualan atau dokumen lain yang berfungsi sebagai bukti bahwa barang memang telah dikirimkan.
Sales invoice. Faktur penjualan dikirimkan ke konsumen untuk menagih penjualan.
Remittance advice. Dokumen yang menunjukkan jumlah kas yang diterima dari konsumen.
Deposit slip. Slip setoran di bank.
Back order. Dokumen yang dibuat pada saat jumlah persediaan tidak dapat memenuhi permintaan pesanan dari konsumen.
Memo kredit. Dokumen yang berfungsi sebagai bukti kredit atas piutang konsumen, akibat retur penjualan.
Aplikasi kredit. Formulir untuk merekam data dan informasi konsumen baru yang hendak mengajukan kredit.
Salesperson call report. Formulir yang digunakan untuk merekam telpon yang dilakukan salesman untuk memprospek konsumen.
Deliquent notice. Dokumen dikirimkan ke konsumen yang piutangnya telah lewat tanggal jatuh tempo.
Write Off Notice. Dokumen yang dibuat oleh manajer kredit pada saat sebuah piutang sudah benar-benar macet.
Cash register receipt. Formulir yang digunakan oleh toko pengecer untuk merekam kas yang diterima.
OUTPUT SISTEM PENJUALAN
Order konsumen yang belum terpenuhi
Jurnal penjualan (daftar faktur penjualan, urut nomor faktur)
Daftar pengiriman barang urut per tanggal kirim
Jurnal penerimaan kas
Daftar memo kredit
Daftar umur piutang
PENGENDALIAN INTERNAL
Paparan Risiko yang dihadapi dalam siklus penjualan
Penjualan kredit kepada konsumen yang sebenarnya tidak layak menerima kredit, perusahaan dapat rugi karena piutang macet.
Kelewat mecatat pengiriman barang atau mengirim barang dan lupa membuatkan tagihan (faktur). Perusahaan rugi karena tidak akan pernah menerima kas dari pengiriman tersebut.
Kesalahan dalam membuat faktur (salah jumlah atau salah harga). Konsumen bisa marah atau perusahaan bisa rugi, menagih terlalu rendah.
Salah posting, sehingga catatan akuntansi yang dihasilkan salah.
Penjualan kredit fiktif, sehingga saldo penjualan dan piutang perusahaan menjadi terlalu besar.
Pencurian produk jadi perusahaan
Penghapusan piutang konsumen oleh karyawan yang tidak memiliki wewenang, sehingga perusahaan tidak akan pernah menerima kas dari piutang tersebut.
Pencurian kas oleh orang yang bertanggung jawab untuk memegang kas.
Lapping.
Akses terhadap data piutang dan persediaan oleh orang yang tidak berwenang.
Virus.
Pencurian data konsumen (misal transaksi melalui web)
Bertransaksi menggunakan kartu kredti curian
Kegagalan server.
Pengendalian Umum:
Pengendalian organisasi. Prinsip umum, bagian pemegang harta kekayaan organisasi mesti terpisah dengan bagian pencatatan. Personel pengembang sistem (yang mengetik dan memodifikasi program) mesti terpisah dengan personel yang menggunakan dan mengoperasikan sistem.
Pengendalian dokumentasi. Ada dokumentasi yang lengkap, seperti dokumentasi formulir yang digunakan, flowchart, struktur database, laporan dan output sistem, serta kebijakan manajermen terkait dengan persetujuan kredit, penghapusan piutang macet dan lain sebagainya.
Rekonsiliasi aktiva dengan catatan perusahaan.
Pengendalian praktik manajemen. Manajer mesti memperkerjakan programer dan akuntan yang kompeten. Pengembangan dan perubahan sistem mesti melalui prosedur yang jelas, ada persetujuan awal, pengujian dan penandatanganan perubahan. Audit atas siklus penjualan. Manajer mereview laporan-laporan yang dihasilkan sistem.
Pengendalian otorisasi.
Pengendalian akses. Meliputi terminal dengan fungsi yang terbatas, hanya untuk mencatat penjualan dan penerimaan kas; Log untuk merekam semua transaksi penjualan dan penerimaan kas pada saat user masuk ke dalam sistem; Backup secara rutin; Gudang yang terkunci.
Pengendalian Aplikasi
Dokumen yang bernomor urut tercetak terkait dengan penjualan, pengiriman barang dan penerimaan kas.
Validasi data yang diinputkan ke dalam aplikasi penjualan
Koreksi kesalahan pada saat input data, sebelum data diproses lebih lanjut.
Contoh validasi data:
Validity check (data nya sesuai tidak dengan yang ada di dalam master file)
Self checking digit
Field check (type data)
Limit check
Range check
Sign check
Completeness check
Echo check
Soal-Soal Sistem Berkas
1. Sebutkan macam-macam atribut pada berkas!
2. Operasi apa sajakah yang dapat diterapkan pada sebuah berkas?
3. Sebutkan informasi yang terkait dengan pembukaan berkas!
4. Sebutkan dan jelaskan metode alokasi pada sistem berkas!
5. Sebutkan dan jelaskan operasi pada direktori?
6. Sebutkan dan Jelaskan tentang tipe akses pada berkas?
7. Sebutkan dan jelaskan bagaimana cara mengatur free space?
8. Bagaimanakah implementasi dari sebuah direktori dalam disk?
9. Sebutkan keunggulan dari sistem berkas dalam UNIX dengan sistem berkas pada WINDOWS?
10. Bagaimanakah langkah-langkah dalam proses back-up?
JAWABAN
1. Atribut berkas terdiri dari:
• Nama; merupakan satu-satunya informasi yang tetap dalam bentuk yang bisa dibaca oleh manusia (human-readable form)
• Type; dibutuhkan untuk sistem yang mendukung beberapa type berbeda
• Lokasi; merupakan pointer ke device dan ke lokasi berkas pada device tersebut
• Ukuran (size); yaitu ukuran berkas pada saat itu, baik dalam byte, huruf, atau pun blok
• Proteksi; adalah informasi mengenai kontrol akses, misalnya siapa saja yang boleh membaca, menulis, dan mengeksekusi berkas
• Waktu, tanggal dan identifikasi pengguna; informasi ini biasanya disimpan untuk:
1. pembuatan berkas,
2. modifikasi terakhir yang dilakukan pada berkas, dan
3. penggunaan terakhir berkas.
2. Ada enam Operasi yang dapat diterapkan pada sebuah berkas:
• Membuat sebuah berkas
• Menulis pada sebuah berkas
• Membaca sebuah berkas
• Menempatkan kembali sebuah berkas
• Menghapus sebuah berkas
• Memendekkan berkas
3. Informasi yang terkait dengan pembukaan berkas yaitu:
• Penunjuk Berkas
• Penghitung berkas yang terbuka
• Lokasi berkas pada disk
4. Metode Alokasi pada sistem berkas:
• Alokasi Secara Berdampingan (Contiguous Allocation), Metode ini menempatkan setiap berkas pada satu himpunan blok yang berurut di dalam disk. Alamat disk menyatakan sebuah urutan linier. Dengan urutan linier ini maka head disk hanya bergerak jika mengakses dari sektor terakhir suatu silinder ke sektor pertama silinder berikutnya. Waktu pencarian (seek time) dan banyak disk seek yang dibutuhkan untuk mengakses berkas yang di alokasi secara berdampingan ini sangat minimal.
• . Alokasi Secara Berangkai (Linked Allocation), Metode ini menyelesaikan semua masalah yang terdapat pada contiguous allocation. Dengan metode ini, setiap berkas merupakan linked list dari blok-blok disk, dimana blok-blok disk dapat tersebar di dalam disk. Setiap direktori berisi sebuah penunjuk (pointer) ke awal dan akhir blok sebuah berkas. Setiap blok mempunyai penunjuk ke blok berikutnya. Untuk membuat berkas baru, kita dengan mudah membuat masukan baru dalam direktori.
• Alokasi Dengan Indeks (Indexed Allocation), Metode alokasi dengan berangkai dapat menyelesaikan masalah fragmentasi eksternal dan pendeklarasian ukuran dari metode alokasi berdampingan. Bagaimana pun tanpa FAT, metode alokasi berangkai tidak mendukung keefisiensian akses langsung, karena penunjuk ke bloknya berserakan dengan bloknya didalam disk dan perlu didapatkan secara berurutan.
5. Operasi Pada Direktori:
• Direktori Satu Tingkat, Ini adalah struktur direktori yang paling sederhana. Semua berkas disimpan di dalam direktori yang sama. Struktur ini tentunya memiliki kelemahan jika jumlah berkasnya bertambah banyak, karena tiap berkas mesti memiliki nama yang unik.
• Direktori Dua Tingkat, Kelemahan yang ada pada direktori tingkat satu dapat diatas pada sistem direktori dua tingkat. Caranya ialah dengan membuat direktori secara terpisah. Pada direktori tingkat dua, setiap pengguna memiliki direktori berkas sendiri (UFD). Setiap UFD memiliki struktur yang serupa, tapi hanya berisi berkas-berkas dari seorang pengguna.
• Direktori Dengan Struktur Tree, Struktur direktori dua tingkat bisa dikatakan sebagai pohon dua tingkat. Sebuah direktori dengan struktur pohon memiliki sejumlah berkas atau subdirektori lagi. Pada penggunaan yang normal setiap pengguna memiliki direktorinya sendiri-sendiri. Selain itu pengguna tersebut dapat memiliki subdirektori sendiri lagi.
• Direktori Dengan Struktur Acyclic-Graph,yaitu seperti jika ada sebuah berkas yang ingin diakses oleh dua pengguna atau lebih, maka struktur ini menyediakan fasilitas "sharing", yaitu penggunaan sebuah berkas secara bersama-sama. Hal ini tentunya berbeda dengan struktur pohon, dimana pada struktur tersebut penggunaan berkas atau direktori secara bersama-sama dilarang. Pada struktur "Acyclic-Graph", penggunaan berkas atau direktori secara bersama-sama diperbolehkan. Tapi pada umumnya struktur ini mirip dengan struktur pohon.
• Direktori Dengan Struktur Graph,
6. tipe akses pada berkas:
• Akses Secara Berurutan, Ketika digunakan, informasi penyimpanan berkas harus dapat diakses dan dibaca ke dalam memori komputer. Beberapa sistem hanya menyediakan satu metode akses untuk berkas.
• Akses Langsung, Direct Access merupakan metode yang membiarkan program membaca dan menulis dengan cepat pada berkas yang dibuat dengan fixed-length logical order tanpa adanya urutan.
• Akses Dengan Menggunakan Indeks, Metode ini merupakan hasil dari pengembangan metode direct access. Metode ini memasukkan indeks untuk mengakses berkas. Jadi untuk mendapatkan suatu informasi suatu berkas, kita mencari dahulu di indeks, lalu menggunakan pointer untuk mengakses berkas dan mendapatkan informasi tersebut. Namun metode ini memiliki kekurangan, yaitu apabila berkas-berkas besar, maka indeks berkas tersebut akan semakin besar.
7. cara mengatur free space:
Manajemen Free Space
1. Menggunakan Bit Vektor.
Tiap blok direpresentasikan sebagai 1 bit. Jika blok tersebut kosong maka isi bitnya 1 dan jika bloknya sedang dialokasikan maka isi bitnya 0. Sebagai contoh sebuah disk dimana blok 2, 3, 4, 5, 8, 9, 10, 11, 12, 13, 17, 18, 25, 26 dan 27 adalah kosong, dan sisanya dialokasikan.
Bit mapnya akan seperti berikut:
001111001111110001100000011100000…
Keuntungan utama dari pendekatan ini adalah relatif sederhana dan efisien untuk mencari blok pertama yang kosong atau berturut-turut n blok yang kosong pada disk. Banyak komputer yang menyediakan instruksi manipulasi bit yang dapat digunakan secara efektif untuk tujuan ini.
1. Linked List.
Pendekatan lain adalah untuk menghubungkan semua blok yang kosong, menyimpan pointer ke blok pertama yang kosong di tempat yang khusus pada disk dan menyimpannya di memori. Blok pertama ini menyimpan pointer ke blok kosong berikutnya dan seterusnya.
1. Grouping.
Modifikasi lainnya adalah dengan menyimpan alamat dari n blok kosong pada blok kosong pertama. Pada n-1 pertama dari blok-blok ini adalah kosong. Blok terakhir menyimpan alamat n blok kosong lainnya dan seterusnya. Keuntungannya dari implementasi seperti ini adalah alamat dari blok kosong yang besar sekali dapat ditemukan dengan cepat, tidak seperti pendekatan standar linked-list.
1. Counting.
Pendekatan lain adalah dengan mengambil keuntungan dari fakta bahwa beberapa blok yang berkesinambungan akan dialokasikan atau dibebaskan secara simultan. Maka dari itu dari pada menyimpan daftar dari banyak alamat disk, kita dapat menyimpan alamat dari blok kosong pertama dan jumlah dari blok kosong yang berkesinambungan yang mengikuti blok kosong pertama. Tiap isi dari daftar menyimpan alamat disk dan penghitung (counter). Meski pun setiap isi membutuhkan tempat lebih tetapi secara keseluruhan daftar akan lebih pendek, selama count lebih dari satu.
8. implementasi dari sebuah direktori dalam disk:
Solusi :
Implementasi Direktori
1. 1. Linear List.
Metode paling sederhana dalam mengimplementasikan sebuah direktori adalah dengan menggunakan linear list dari nama berkas dengan penunjuk ke blok data. Linear list dari direktori memerlukan pencarian searah untuk mencari suatu direktori didalamnya. Metode sederhana untuk di program tetapi memakan waktu lama ketika dieksekusi. Untuk membuat berkas baru harus mencari di dalam direktori untuk meyakinkan bahwa tidak ada berkas yang bernama sama. Lalu tambahkan sebuah berkas baru pada akhir direktori. Untuk menghapus sebuah berkas, harus mencari berkas tersebut dalam direktori, lalu melepaskan tempat yang dialokasikan untuknya. Untuk menggunakan kembali suatu berkas dalam direktori dapat melakukan beberapa hal.
ü Dapat menandai berkas tersebut sebagai tidak terpakai (dengan menamainya secara khusus, seperti nama yang kosong, atau bit terpakai atau tidak yang ditambahkan pada berkas), atau kita dapat menambahkannya pada daftar direktori bebas.
ü menyalin ke tempat yang dikosongkan pada direktori Kelemahan dari linear list ini adalah percarian searah untuk mencari sebuah berkas. Direktori yang berisi informasi sering digunakan, implementasi yang lambat pada cara aksesnya
2. Hash Table.
Dalam metode ini linear list menyimpan direktori, tetapi struktur data hash juga digunakan. Hash table mengambil nilai yang dihitung dari nama berkas dan mengembalikan sebuah penunjuk ke nama berkas yang ada di-linear list. Maka dari itu dapat memotong banyak biaya pencarian direktori. Memasukkan dan menghapus berkas juga lebih mudah dan cepat. Meski demikian beberapa aturan harus dibuat untuk mncegah tabrakan, situasi dimana dua nama berkas pada hash mempunyai tempat yang sama. Kesulitan utama dalam hash table adalah ukuran tetap dari hash table dan ketergantungan dari fungsi hash dengan ukuran hash table.
9. keunggulan dari sistem berkas dalam UNIX dengan sistem berkas pada WINDOWS:
• sistem berkas UNIX lebih hebat dan mudah diatur daripada Windows (DOS).
• Penamaan dalam UNIX dan Windows berbeda, sistem Windows ingin memudahkan pengguna maka sistem mereka mengubah nama menjadi nama yang lebih mudah bagi para pengguna. Contohnya adalah nama folder dalam adalah perubahan dari directory yang masih digunakan oleh UNIX. Penggunaan back slash (\) digunakan untuk memisahkan direktori-direktori dalam Windows, tetapi hal ini tidak ada dalam UNIX. Sistem UNIX menggunakan case sensitive, yang artinya nama suatu berkas yang sama jika dibaca, tetapi penulisan namanya berbeda dalam hal ada satu file yang menggunakan huruf kapital dalam penamaan dan satu tidak akan berbeda dalam UNIX. Contohnya ada berkas bernama berkasdaku.txt dan BerkasDaku.txt, jika dibaca nama berkasnya sama tetapi dalam UNIX ini merupakan dua berkas yang jauh berbeda. Jika berkas-berkas ini berada di sistem Windows, mereka menunjuk ke berkas yang sama yang berarti Windows tidak case sensitive.
• UNIX tidak menggunakan drive letter seperti C:, D: dalam Windows. Tetapi semua partisi dan drive ekstra di mount didalam sub-direktori di bawah direktori root. Jadi pengguna tidak harus bingung di drive letter mana suatu berkas berada sehingga seluruh sistem seperti satu sistem berkas yang berurutan dari direktori root menurun secara hierarki.
10. langkah-langkah dalam proses back-up:
Solusi :
Penjadualan back up yang umum sebagai berikut:
• Hari 1: Salin ke tempat penyimpanan back up semua berkas dari disk, disebut sebuah full backup.
• Hari 2: Salin ke tempat penyimpanan lain semua berkas yang berubah sejak hari 1, disebut incremental backup.
• Hari 3: Salin ke tempat peyimpanan lain semua berkas yang berubah sejak hari 2.
• Hari N: salin ke tempat penyimpanan lain semua berkas yang berubah sejak hari N-1, lalu kembali ke hari 1.
Keuntungan dari siklus backup ini adalah kita dapat menempatkan kembali berkas mana pun yang tidaksengaja terhapus pada waktu siklus dengan mendapatkannya dari back up hari sebelumnya. Panjang dari siklus disetujui antara banyaknya tempat penyimpanan backup yang diperlukan dan jumlah hari kebelakang dari penempatan kembali dapat dilakukan.
Latihan
1. Proses dapat meminta berbagai kombinasi dari sumber daya dibawah ini: CDROM, soundcard dan floppy. Jelaskan tiga macam pencegahan deadlock skema yang meniadakan:
• Hold and Wait
• Circular Wait
• No Preemption
2. Pernyataan manakah yang benar mengenai deadlock:
i. Pencegahan deadlock lebih sulit dilakukan (implementasi) daripada menghindari deadlock.
ii. Deteksi deadlock dipilih karena utilisasi dari resources dapat lebih optimal.
iii. Salah satu prasyarat untuk melakukan deteksi deadlock adalah: hold and wait.
iv. Algoritma Banker’s (Djikstra) tidak dapat menghindari terjadinya deadlock.
v. Suatu sistem jika berada dalam keadaan tidak aman: "unsafe", berarti telah terjadi deadlock.
3. User 1 sedang menggunakan x printers dan memerlukan total n printers. Kondisi umum adalah: y < -12, n < -12, x < -y, m < -n. State ini safe jika dan hanya jika:
i. x+n<-12 dan y+m<-12 dan x+m<-12
ii. x+n<-12 dan y+m<12 dan x+m<-12
iii. x+n<-12 atau(or) y+m<-12 dan x+m<-12
iv. x+m<-12
v. Semua statement diatas menjamin: safe state
JAWABANNYA
1. • Mencegah Hold and Wait
Untuk mencegah hold and wait, sistem harus menjamin bila suatu proses meminta
sumber daya, maka proses tersebut tidak sedang memegang sumber daya yang lain.
Proses harus meminta dan dialokasikan semua sumber daya yang diperlukan
sebelum proses memulai eksekusi atau mengijinkan proses meminta sumber daya
hanya jika proses tidak membawa sumber daya lain. Model ini mempunyai utilitas
sumber daya yang rendah dan kemungkinan terjadi starvation jika proses
membutuhkan sumber daya yang popular sehingga terjadi keadaan menunggu yang tidak terbatas karena setidaknya satu dari sumber daya yang dibutuhkannya
dialokasikan untuk proses yang lain.
• Mencegah Non Preemption
Peniadaan non preemption mencegah proses-proses lain harus menunggu. Seluruh
proses menjadi preemption, sehingga tidak ada tunggu menunggu. Cara mencegah
kondisi non preemption :
o Jika suatu proses yang membawa beberapa sumber daya meminta sumber daya
lain yang tidak dapat segera dipenuhi untuk dialokasikan pada proses tersebut,
maka semua sumber daya yang sedang dibawa proses tersebut harus
dibebaskan.
o Proses yang sedang dalam keadaan menunggu, sumber daya yang dibawanya
ditunda dan ditambahkan pada daftar sumber daya.
o Proses akan di restart hanya jika dapat memperoleh sumber daya yang lama dan sumber daya baru yang diminta.
• Mencegah Kondisi Menunggu Sirkular(Circular Wait)
Sistem mempunyai total permintaan global untuk semua tipe sumber daya. Proses
dapat meminta proses kapanpun menginginkan, tapi permintaan harus dibuat terurut
secara numerik. Setiap proses yang membutuhkan sumber daya dan memintanya
maka nomor urut akan dinaikkan. Cara ini tidak akan menimbulkan siklus.
Masalah yang timbul adalah tidak ada cara pengurutan nomor sumber daya yang
memuaskan semua pihak.
2. = > Salah satu prasyarat untuk melakukan deteksi deadlock adalah: hold and wait.
= > Suatu sistem jika berada dalam keadaan tidak aman: "unsafe", berarti telah terjadi deadlock.
= > Pencegahan deadlock lebih sulit dilakukan (implementasi) daripada menghindari deadlock.
3. = > Semua statement diatas menjamin: safe state.
Soal dan jawaban tugas system operasi BAB 2.
1. Sebutkan lima aktivitas sistem operasi yang merupakan contoh dari suatu managemen proses. !
2. Definisikan perbedaan antara penjadualan short term, medium term dan long term.
3. Jelaskan tindakan yang diambil oleh sebuah kernel ketika alih konteks antar proses.
4. Informasi apa saja yang disimpan pada tabel proses saat alih konteks dari satu proses ke proses lain.
5. Di sistem UNIX terdapat banyak status proses yang dapat timbul (transisi) akibat event (eksternal) OS dan proses tersebut itu sendiri. Transisi state apa sajakah yang dapat ditimbulkan oleh proses itu sendiri. Sebutkan!
6. Apa keuntungan dan kekurangan dari:
• • Komunikasi Simetrik dan asimetrik
• • Automatic dan explicit buffering
• • Send by copy dan send by reference
• • Fixed-size dan variable sized messages
7. Jelaskan perbedaan short-term, medium-term dan long-term?
8. Jelaskan apa yang akan dilakukan oleh kernel kepada alih konteks ketika proses sedang berlangsung?
9. Beberapa single-user mikrokomputer sistem operasi seperti MS-DOS menyediakan sedikit atau tidak sama sekali arti dari pemrosesan yang konkuren. Diskusikan dampak yang paling mungkin ketika pemrosesan yang konkuren dimasukkan ke dalam suatu sistem operasi?
10. Perlihatkan semua kemungkinan keadaan dimana suatu proses dapat sedang berjalan, dan gambarkan diagram transisi keadaan yang menjelaskan bagaimana proses bergerak diantara state.
11. Apakah suatu proses memberikan ’issue’ ke suatu disk I/O ketika, proses tersebut dalam ’ready’ state, jelaskan?
12. Kernel menjaga suatu rekaman untuk setiap proses, disebut Proses Control Blocks (PCB). Ketika suatu proses sedang tidak berjalan, PCB berisi informasi tentang perlunya melakukan restart suatu proses dalam CPU. Jelaskan dua informasi yang harus dipunyai PCB.
JAWABAN
NOMOR 1.
• Pembuatan dan penghapusan proses pengguna dan sistem proses.
• Menunda atau melanjutkan proses.
• Menyediakan mekanisme untuk proses sinkronisasi.
• Menyediakan mekanisme untuk proses komunikasi.
• Menyediakan mekanisme untuk penanganan deadlock.
NOMOR 2
Short term scheduler
• Short term scheduler digunakan untuk memilih diantara proses-proses yang siap di eksekusi dan salah satunya dialokasikan ke CPU.
• Short term scheduler Sering digunakan untuk memilih proses baru untuk CPU. Proses dieksekusi hanya beberapa milidetik sebelum menunggu I/O.
• Karena durasi yang pendek antara eksekusi, Short term scheduler harus sangat cepat
Contoh : jika Short term scheduler membutuhkan 10ms untuk memutuskan mengeksekusi proses 100ms, maka 10/110=9% CPU digunakan untuk menjadwalkan pekerjaan.
• Pada system time sharing, setiap proses baru ditempatkan di memori. Short term scheduler digunakan untuk memilih dari proses-proses tersebut di memori untuk diekseskusi.
Medium term scheduler
• Beberapa OS seperi system sharing, membutuhkan penjadwalan level tambahan (intermediate), yang disebut “medium term scheduler”.
• Memperkenalkan konsep swapping proses : proses di “swap out “ dan di “swap in” pada medium term scheduler.
• Swapping diperlukan untuk meningkatkan “process mix” atau karena perubahan pada kebutuhan memori melebihi memori yang tersedia, memori perlu dibebaskan.
Long term scheduler
• Proses-proses pada system batch di spool ke mass storage device (disk), disimpan sebagai eksekusi selanjutnya.
• Long term scheduler digunakan untuk memilih proses dari pool dan menyimpannya ke memori.
• Long term scheduler tidak sering mengeksekusi, digunakan hanya jika proses meninggalkan system.
• Karena antar eksekusi terjadi interval yang panjang, Long term scheduler mempunyai waktu lebih banyak untuk memutuskan proses mana yang dipilih untuk eksekusi.
• Long term scheduler memilih dengan baik “process mix” antara I/O bound dan CPU bound.
- Bila semua proses adalah I/O bound, ready queue hampir selalu kosong.
- Bila semua proses adalah CPU bound, I/O queue hampir selalu kosong.
• Pada beberapa system, Long term scheduler tidak digunakan (misalnya pada time sharing system) atau minimal.
NOMOR 3
. • Proses di blok untuk melayani input karena sumber daya yang diminta belum tersedia / meminta layanan I/O sehingga menunggu kejadian muncul.
• Penjadwalan mengambil proses lain.
• Penjadwalan mengambil proses ini (baru).
• Input telah tersedia.
NOMOR 4
• Proses di blok untuk melayani input karena sumber daya yang diminta belum tersedia / meminta layanan I/O sehingga menunggu kejadian muncul
• Penjadwalan mengambil proses lain.
• Penjadwalan mengambil proses ini (baru).
• Input telah tersedia.
NOMOR 5
• New: Proses sedang dikerjakan/ dibuat.
• Running: Instruksi sedang dikerjakan.
• Waiting: Proses sedang menunggu sejumlah kejadian untuk terjadi (seperti sebuah penyelesaian I/Oatau penerimaan sebuah tanda/ signal).
• Ready: Proses sedang menunggu untuk ditugaskan pada sebuah prosesor.
• Terminated: Proses telah selsesai melaksanakan tugasnya/ mengeksekusi.
NOMOR 6
a) Symmetric komunikasi langsung adalah rasa sakit karena kedua belah pihak memerlukan nama proses lain. Hal ini membuat sulit untuk membangun sebuah server.
b) Otomatis membuat pemrograman lebih mudah tapi adalah sebuah sistem sulit untuk membangun.
c) Kirim oleh copy jaringan yang lebih baik bagi generalisasi dan masalah sinkronisasi. Kirim dengan referensi yang lebih efisien untuk besar struktur data tetapi sulit kode karena memori bersama implikasi.
d) Variabel ukuran membuat pemrograman lebih mudah tapi adalah sistem lebih sulit untuk membangun.
NOMOR 7
Perpindahan antar proses melibatkan penyimpanan konteks dari proses yang sebelumnya dan proses berikutnya. Hal ini harus dapat dilakukan dengan cepat untuk mencegah terbuangnya waktu CPU. Versi baru dari Linux mengganti perpindahan konteks perangkat keras ini menggunakan piranti lunak yang mengimplementasikan sederetan instruksi mov untuk menjamin validasi data yang disimpan serta potensi untuk melakukan optimasi. Untuk mengubah konteks proses digunakan makro switch_to(). Makro tersebut akan mengganti proses dari proses yang ditunjuk oleh prev_task menjadi next_task. Makro switch_to() dijalankan oleh schedule() dan merupakan salah satu rutin kernel yang sangat tergantung pada perangkat keras (hardware-dependent).
NOMOR 8
Kernel menjaga suatu rekaman untuk setiap proses, disebut Proses Control Blocks (PCB). Ketika suatu proses sedang tidak berjalan, PCB berisi informasi tentang perlunya melakukan restart suatu proses dalam CPU.
NOMOR 9
Sistem akan terganggu dan akan sering terjadi hank
NOMOR 10
NOMOR 11
Ya, karena issue menyampaikan informasi ke dalam state.
NOMOR 12
PCB berisikan banyak bagian-dari informasi yang berhubungan dengan sebuah proses yang spesifik, termasuk ini:
• Keadaan proses: Keadaan mungkin, new ,ready ,running, waiting, halted, dan juga banyak lagi.
• Program counter: Counter mengindikasikan address dari perintah selanjutnya untuk dijalankan untuk proses ini.
• CPU register: Register bervariasi dalam jumlah dan jenis, tergantung pada rancangan komputer. Register tersebut termasuk accumulator, index register, stack pointer, general-puposes register, ditambah code information pada kondisi apapun. Besertaan dengan program counter, keadaan/ status informasi harus disimpan ketika gangguan terjadi, untuk memungkinkan proses tersebut berjalan/bekerja dengan benar setelahnya (Gambar 4.3).
• Informasi manajemen memori: Informasi ini dapat termasuk suatu informasi sebagai nilai dari dasar dan batas register, tabel page/ halaman, atau tabel segmen tergantung pada sistem memori yang digunakan oleh sistem operasi (ch 9).
• Informasi pencatatan: Informasi ini termasuk jumlah dari CPU dan waktu riil yang digunakan, batas waktu, jumlah akun, jumlah job atau proses, dan banyak lagi.
• Informasi status I/O: Informasi termasuk daftar dari perangkat I/O yang di gunakan pada proses ini, suatu daftar open file dan banyak lagi.
• PCB hanya berfungsi sebagai tempat menyimpan/gudang untuk informasi apapun yang dapat bervariasi dari prose ke proses.
Soal dan jawaban tugas system operasi BAB 2.
1. Sebutkan lima aktivitas sistem operasi yang merupakan contoh dari suatu managemen proses. !
2. Definisikan perbedaan antara penjadualan short term, medium term dan long term.
3. Jelaskan tindakan yang diambil oleh sebuah kernel ketika alih konteks antar proses.
4. Informasi apa saja yang disimpan pada tabel proses saat alih konteks dari satu proses ke proses lain.
5. Di sistem UNIX terdapat banyak status proses yang dapat timbul (transisi) akibat event (eksternal) OS dan proses tersebut itu sendiri. Transisi state apa sajakah yang dapat ditimbulkan oleh proses itu sendiri. Sebutkan!
6. Apa keuntungan dan kekurangan dari:
• • Komunikasi Simetrik dan asimetrik
• • Automatic dan explicit buffering
• • Send by copy dan send by reference
• • Fixed-size dan variable sized messages
7. Jelaskan perbedaan short-term, medium-term dan long-term?
8. Jelaskan apa yang akan dilakukan oleh kernel kepada alih konteks ketika proses sedang berlangsung?
9. Beberapa single-user mikrokomputer sistem operasi seperti MS-DOS menyediakan sedikit atau tidak sama sekali arti dari pemrosesan yang konkuren. Diskusikan dampak yang paling mungkin ketika pemrosesan yang konkuren dimasukkan ke dalam suatu sistem operasi?
10. Perlihatkan semua kemungkinan keadaan dimana suatu proses dapat sedang berjalan, dan gambarkan diagram transisi keadaan yang menjelaskan bagaimana proses bergerak diantara state.
11. Apakah suatu proses memberikan ’issue’ ke suatu disk I/O ketika, proses tersebut dalam ’ready’ state, jelaskan?
12. Kernel menjaga suatu rekaman untuk setiap proses, disebut Proses Control Blocks (PCB). Ketika suatu proses sedang tidak berjalan, PCB berisi informasi tentang perlunya melakukan restart suatu proses dalam CPU. Jelaskan dua informasi yang harus dipunyai PCB.
JAWABAN
NOMOR 1.
• Pembuatan dan penghapusan proses pengguna dan sistem proses.
• Menunda atau melanjutkan proses.
• Menyediakan mekanisme untuk proses sinkronisasi.
• Menyediakan mekanisme untuk proses komunikasi.
• Menyediakan mekanisme untuk penanganan deadlock.
NOMOR 2
Short term scheduler
• Short term scheduler digunakan untuk memilih diantara proses-proses yang siap di eksekusi dan salah satunya dialokasikan ke CPU.
• Short term scheduler Sering digunakan untuk memilih proses baru untuk CPU. Proses dieksekusi hanya beberapa milidetik sebelum menunggu I/O.
• Karena durasi yang pendek antara eksekusi, Short term scheduler harus sangat cepat
Contoh : jika Short term scheduler membutuhkan 10ms untuk memutuskan mengeksekusi proses 100ms, maka 10/110=9% CPU digunakan untuk menjadwalkan pekerjaan.
• Pada system time sharing, setiap proses baru ditempatkan di memori. Short term scheduler digunakan untuk memilih dari proses-proses tersebut di memori untuk diekseskusi.
Medium term scheduler
• Beberapa OS seperi system sharing, membutuhkan penjadwalan level tambahan (intermediate), yang disebut “medium term scheduler”.
• Memperkenalkan konsep swapping proses : proses di “swap out “ dan di “swap in” pada medium term scheduler.
• Swapping diperlukan untuk meningkatkan “process mix” atau karena perubahan pada kebutuhan memori melebihi memori yang tersedia, memori perlu dibebaskan.
Long term scheduler
• Proses-proses pada system batch di spool ke mass storage device (disk), disimpan sebagai eksekusi selanjutnya.
• Long term scheduler digunakan untuk memilih proses dari pool dan menyimpannya ke memori.
• Long term scheduler tidak sering mengeksekusi, digunakan hanya jika proses meninggalkan system.
• Karena antar eksekusi terjadi interval yang panjang, Long term scheduler mempunyai waktu lebih banyak untuk memutuskan proses mana yang dipilih untuk eksekusi.
• Long term scheduler memilih dengan baik “process mix” antara I/O bound dan CPU bound.
- Bila semua proses adalah I/O bound, ready queue hampir selalu kosong.
- Bila semua proses adalah CPU bound, I/O queue hampir selalu kosong.
• Pada beberapa system, Long term scheduler tidak digunakan (misalnya pada time sharing system) atau minimal.
NOMOR 3
. • Proses di blok untuk melayani input karena sumber daya yang diminta belum tersedia / meminta layanan I/O sehingga menunggu kejadian muncul.
• Penjadwalan mengambil proses lain.
• Penjadwalan mengambil proses ini (baru).
• Input telah tersedia.
NOMOR 4
• Proses di blok untuk melayani input karena sumber daya yang diminta belum tersedia / meminta layanan I/O sehingga menunggu kejadian muncul
• Penjadwalan mengambil proses lain.
• Penjadwalan mengambil proses ini (baru).
• Input telah tersedia.
NOMOR 5
• New: Proses sedang dikerjakan/ dibuat.
• Running: Instruksi sedang dikerjakan.
• Waiting: Proses sedang menunggu sejumlah kejadian untuk terjadi (seperti sebuah penyelesaian I/Oatau penerimaan sebuah tanda/ signal).
• Ready: Proses sedang menunggu untuk ditugaskan pada sebuah prosesor.
• Terminated: Proses telah selsesai melaksanakan tugasnya/ mengeksekusi.
NOMOR 6
a) Symmetric komunikasi langsung adalah rasa sakit karena kedua belah pihak memerlukan nama proses lain. Hal ini membuat sulit untuk membangun sebuah server.
b) Otomatis membuat pemrograman lebih mudah tapi adalah sebuah sistem sulit untuk membangun.
c) Kirim oleh copy jaringan yang lebih baik bagi generalisasi dan masalah sinkronisasi. Kirim dengan referensi yang lebih efisien untuk besar struktur data tetapi sulit kode karena memori bersama implikasi.
d) Variabel ukuran membuat pemrograman lebih mudah tapi adalah sistem lebih sulit untuk membangun.
NOMOR 7
Perpindahan antar proses melibatkan penyimpanan konteks dari proses yang sebelumnya dan proses berikutnya. Hal ini harus dapat dilakukan dengan cepat untuk mencegah terbuangnya waktu CPU. Versi baru dari Linux mengganti perpindahan konteks perangkat keras ini menggunakan piranti lunak yang mengimplementasikan sederetan instruksi mov untuk menjamin validasi data yang disimpan serta potensi untuk melakukan optimasi. Untuk mengubah konteks proses digunakan makro switch_to(). Makro tersebut akan mengganti proses dari proses yang ditunjuk oleh prev_task menjadi next_task. Makro switch_to() dijalankan oleh schedule() dan merupakan salah satu rutin kernel yang sangat tergantung pada perangkat keras (hardware-dependent).
NOMOR 8
Kernel menjaga suatu rekaman untuk setiap proses, disebut Proses Control Blocks (PCB). Ketika suatu proses sedang tidak berjalan, PCB berisi informasi tentang perlunya melakukan restart suatu proses dalam CPU.
NOMOR 9
Sistem akan terganggu dan akan sering terjadi hank
NOMOR 10
NOMOR 11
Ya, karena issue menyampaikan informasi ke dalam state.
NOMOR 12
PCB berisikan banyak bagian-dari informasi yang berhubungan dengan sebuah proses yang spesifik, termasuk ini:
• Keadaan proses: Keadaan mungkin, new ,ready ,running, waiting, halted, dan juga banyak lagi.
• Program counter: Counter mengindikasikan address dari perintah selanjutnya untuk dijalankan untuk proses ini.
• CPU register: Register bervariasi dalam jumlah dan jenis, tergantung pada rancangan komputer. Register tersebut termasuk accumulator, index register, stack pointer, general-puposes register, ditambah code information pada kondisi apapun. Besertaan dengan program counter, keadaan/ status informasi harus disimpan ketika gangguan terjadi, untuk memungkinkan proses tersebut berjalan/bekerja dengan benar setelahnya (Gambar 4.3).
• Informasi manajemen memori: Informasi ini dapat termasuk suatu informasi sebagai nilai dari dasar dan batas register, tabel page/ halaman, atau tabel segmen tergantung pada sistem memori yang digunakan oleh sistem operasi (ch 9).
• Informasi pencatatan: Informasi ini termasuk jumlah dari CPU dan waktu riil yang digunakan, batas waktu, jumlah akun, jumlah job atau proses, dan banyak lagi.
• Informasi status I/O: Informasi termasuk daftar dari perangkat I/O yang di gunakan pada proses ini, suatu daftar open file dan banyak lagi.
• PCB hanya berfungsi sebagai tempat menyimpan/gudang untuk informasi apapun yang dapat bervariasi dari prose ke proses.
Linux
Linux (diucapkan ˈlɪnəks atau /ˈlɪnʊks/)[1] adalah nama yang diberikan kepada sistem operasi komputer bertipe Unix. Linux merupakan salah satu contoh hasil pengembangan perangkat lunak bebas dan sumber terbuka utama. Seperti perangkat lunak bebas dan sumber terbuka lainnya pada umumnya, kode sumber Linux dapat dimodifikasi, digunakan dan didistribusikan kembali secara bebas oleh siapa saja.[2]
Nama "Linux" berasal dari nama pembuatnya, yang diperkenalkan tahun 1991 oleh Linus Torvalds. Sistemnya, peralatan sistem dan pustakanya umumnya berasal dari sistem operasi GNU, yang diumumkan tahun 1983 oleh Richard Stallman. Kontribusi GNU adalah dasar dari munculnya nama alternatif GNU/Linux.[3]
Linux telah lama dikenal untuk penggunaannya di server, dan didukung oleh perusahaan-perusahaan komputer ternama seperti Intel, Dell, Hewlett-Packard, IBM, Novell, Oracle Corporation, Red Hat, dan Sun Microsystems. Linux digunakan sebagai sistem operasi di berbagai macam jenis perangkat keras komputer, termasuk komputer desktop, superkomputer,[4], dan sistem benam seperti pembaca buku elektronik, sistem permainan video (PlayStation 2, PlayStation 3 dan XBox[5]), telepon genggam dan router. Para pengamat teknologi informatika beranggapan kesuksesan Linux dikarenakan Linux tidak bergantung kepada vendor (vendor independence), biaya operasional yang rendah, dan kompatibilitas yang tinggi dibandingkan versi UNIX tak bebas, serta faktor keamanan dan kestabilannya yang tinggi dibandingkan dengan sistem operasi lainnya seperti Microsoft Windows. Ciri-ciri ini juga menjadi bukti atas keunggulan model pengembangan perangkat lunak sumber terbuka (opensource software).
Sistem operasi Linux yang dikenal dengan istilah distribusi Linux (Linux distribution) atau distro Linux umumnya sudah termasuk perangkat-perangkat lunak pendukung seperti server web, bahasa pemrograman, basisdata, tampilan desktop (desktop environment) seperti GNOME,KDE dan Xfce juga memiliki paket aplikasi perkantoran (office suite) seperti OpenOffice.org, KOffice, Abiword, Gnumeric dan LibreOffice.
[sunting] Sejarah
Richard Stallman, pendiri proyek GNU, dan Linus Torvalds, pembuat kernel Linux Richard Stallman, pendiri proyek GNU, dan Linus Torvalds, pembuat kernel Linux
Richard Stallman, pendiri proyek GNU, dan Linus Torvalds, pembuat kernel Linux
Sistem operasi Unix dikembangkan dan diimplementasikan pada tahun 1960-an dan pertama kali dirilis pada 1970. Faktor ketersediaannya dan kompatibilitasnya yang tinggi menyebabkannya dapat digunakan, disalin dan dimodifikasi secara luas oleh institusi-institusi akademis dan pada pebisnis.
[sunting] Logo Linux
Logo Linux (Tux) dimulai saat Linus Torvalds sedang berjalan-jalan di taman Perth. Saat sedang berjalan itu lah Linus Torvalds di patok oleh sekor Pinguin dan demam selama berhari. Ia berfikir bahwa karakter pinguin cocok untuk menjadi logo dari sistem operasi barunya itu. Maka diadakan sebuah kompetisi untuk mendesain Logo Linux yang baru, dan kompetisi itu dimenangkan oleh Larry Ewing yang berhasil menggambarkan seekor pinguin yang sedang duduk.
[sunting] Proyek GNU
Proyek GNU yang mulai pada 1984 memiliki tujuan untuk membuat sebuah sistem operasi yang kompatibel dengan Unix dan lengkap dan secara total terdiri atas perangkat lunak bebas.[6] Tahun 1985, Richard Stallman mendirikan Yayasan Perangkat Lunak Bebas dan mengembangkan Lisensi Publik Umum GNU (GNU General Public License atau GNU GPL). Kebanyakan program yang dibutuhkan oleh sebuah sistem operasi (seperti pustaka, kompiler, penyunting teks, shell Unix dan sistem jendela) diselesaikan pada awal tahun 1990-an, walaupun elemen-elemen tingkat rendah seperti device driver, jurik dan kernel masih belum selesai pada saat itu.[7] Linus Torvalds pernah berkata bahwa jika kernel GNU sudah tersedia pada saat itu (1991), dia tidak akan memutuskan untuk menulis versinya sendiri.[8]
[sunting] MINIX
MINIX, sebuah sistem bertipe Unix yang ditujukan untuk penggunaan akademis dirilis oleh Andrew S. Tanenbaum pada tahun 1987. Kode sumber MINIX 1.0 tercantum dalam bukunya Operating Systems: Design and Implementation. Walaupun dapat secara mudah didapatkan, modifikasi dan pendistribusian ulang tidak diperbolehkan pada saat itu. Hak cipta dari kode sumbernya termasuk ke dalam hak cipta dari bukunya yang dipublikasikan oleh Prentice Hall. Sebagai tambahan, disain versi 16-bit dari MINIX kemudian tidak secara baik diadaptasikan kepada versi 32-bit dari arsitektur Intel 386 yang murah dan populer yang digunakan secara luas di komputer pribadi.
Tahun 1991, Torvalds mulai bekerja untuk membuat versi non-komersial pengganti MINIX sewaktu ia belajar di Universitas Helsinki.[9] Hasil kerjaannya itu yang kemudian akan menjadi kernel Linux.
Pada tahun 1992, Tanembaum menulis sebuah artikel di Usenet, mengklaim bahwa Linux sudah ketinggalan zaman. Dalam artikelnya, ia mengkritik Linux sebagai sebuah sistem operasi dengan rancangan monolitik dan terlalu terpaku dengan arsitektur x86 sehingga tidak bersifat portable, di mana digambarkannya sebagai sebuah "kesalahan mendasar".[10] Tanenbaum menyarankan bahwa mereka yang menginginkan sebuah sistem operasi modern harus melihat kepada sebuah rancangan yang berdasarkan kepada model mikrokernel. Tulisan tersebut menekankan tanggung jawab Torvalds yang berujung kepada sebuah debat tentang rancangan kernel monolitik dan mikrokernel.[10]
Sekarang ini Linux telah digunakan di berbagai domain, dari sistem benam[11] sampai superkomputer,[12] dan telah mempunyai posisi yang aman dalam instalasi server web dengan aplikasi LAMP-nya yang populer.[13] Pengembangan kernel Linux masih dilanjutkan oleh Torvalds, sementara Stallman mengepalai Yayasan Perangkat Lunak Bebas yang mendukung pengembangan komponen GNU. Selain itu, banyak individu dan perusahaan yang mengembangkan komponen non-GNU. Komunitas Linux menggabungkan dan mendistribusikan kernel, komponen GNU dan non-GNU dengan perangkat lunak manajemen paket dalam bentuk distribusi Linux.
[sunting] Pengucapan
Pada tahun 1992, Torvalds menjelaskan bagaimana ia mengeja kata Linux:
“ 'li' dieja dengan bunyi [ee] pendek, 'nux' juga pendek, non-diftong, seperti dalam pUt. Linux hanya merupakan nama kerja untuk sesuatu, dan karena saya menulisnya untuk menggantikan minix di sistemku, hasilnya adalah apa adanya... linus' minix menjadi linux. ”
Torvalds membuat sebuah contoh audio yang berisi suara bagaimana pengejaannya dalam bahasa Inggris dan Swedia.[14][15] Tetapi, sebuah wawancara dari dokumentasi tahun 2001 Revolution OS mengindikasikan bahwa cara pengejaannya sedikit berubah.[16]
Dalam bahasa Inggris, banyak orang cenderung mengeja Linux sebagai [ˈlɪnʊks] atau [ˈlɪnəks].
[sunting] Desain
Linux merupakan sistem operasi bertipe Unix modular. Linux memiliki banyak disain yang berasal dari disain dasar Unix yang dikembangkan dalam kurun waktu 1970-an hingga 1980-an. Linux menggunakan sebuah kernel monolitik, kernel Linux yang menangani kontrol proses, jaringan, periferal dan pengaksesan sistem berkas. Device driver telah terintegrasi ke dalam kernel.
Banyak fungsi-fungsi tingkat tinggi di Linux ditangani oleh proyek-proyek terpisah yang berintegrasi dengan kernel. Userland GNU merupakan sebuah bagian penting dari sistem Linux yang menyediakan shell dan peralatan-peralatan yang menangani banyak fungsi-fungsi dasar sistem operasi. Di atas kernel, peralatan-peralatan ini membentuk sebuah sistem Linux lengkap dengan sebuah antarmuka pengguna grafis yang dapat digunakan, umumnya berjalan di atas X Window System.
[sunting] Antarmuka pengguna
Lihat pula: Antarmuka pengguna
Linux dapat dikendalikan oleh satu atau lebih antarmuka baris perintah (command line interface atau CLI) berbasis teks, antarmuka pengguna grafis (graphical user interface atau GUI, yang umumnya merupakan konfigurasi bawaan untuk versi desktop).
Pada komputer meja, GNOME, KDE dan Xfce merupakan antarmuka pengguna yang paling populer,[17] walaupun terdapat sejumlah varian antarmuka pengguna. Antarmuka pengguna yang paling populer berjalan di atas X Window System (X), yang menyediakan transparansi jaringan yang memperolehkan sebuah aplikasi grafis berjalan di atas satu mesin tetapi ditampilkan dan dikontrol di mesin yang lain.
GUI yang lain memiliki X window manager seperti FVWM, Enlightenment, Fluxbox, Icewm dan Window Maker. Manajer jendela menyediakan kontrol untuk penempatan dan penampilan dari jendela-jendela aplikasi individual serta interaksi dengan sistem jendela X.
Sebuah sistem Linux umumnya menyediakan sebuah antarmuka baris perintah lewat sebuah shell, yang merupakan cara tradisional untuk berinteraksi dengan sebuah sistem Unix. Sebuah distro Linux yang dikhususkan untuk lingkungan peladen mungkin hanya memiliki CLI sebagai satu-satunya antarmuka. Sebuah sistem yang tidak memiliki monitor hanya dapat dikontrol melalui baris perintah lewat protokol seperti SSH atau telnet.
Kebanyakan komponen tingkat rendah Linux, termasuk GNU Userland, menggunakan CLI secara ekslusif. CLI cocok untuk digunakan pada lingkungan otomasi tugas-tugas yang repetitif atau tertunda, dan menyediakan komunikasi inter-proses yang sangat sederhana. Sebuah program emulator terminal grafis sering digunakan untuk mengakses CLI dari sebuah Linux desktop.
[sunting] Pengembangan
!Artikel utama untuk bagian ini adalah: Distribusi Linux
Berkas:Unix history.svg
Sebuah ringkasan sejarah sistem operasi-sistem operasi bertipe Unix menunjukkan asal usul Linux. Perhatikan walaupun memiliki konsep dan disain arsitektur yang sama, Linux tidak memiliki kode sumber yang tidak bebas seperti halnya Unix atau Minix.
Perbedaan utama antara Linux dan sistem operasi populer lainnya terletak pada kernel Linux dan komponen-komponennya yang bebas dan terbuka. Linux bukan satu-satunya sistem operasi dalam kategori tersebut, walaupun demikian Linux adalah contoh terbaik dan terbanyak digunakan. Beberapa lisensi perangkat lunak bebas dan sumber terbuka berdasarkan prinsip-prinsip copyleft, sebuah konsep yang menganut prinsip: karya yang dihasilkan dari bagian copyleft harus juga merupakan copyleft. Lisensi perangkat lunak bebas yang paling umum, GNU GPL, adalah sebuah bentuk copyleft, dan digunakan oleh kernel Linux dan komponen-komponen dari proyek GNU.
Sistem Linux berkaitan erat dengan standar-standar POSIX,[18] SUS,[19] ISO dan ANSI. Akan tetapi, baru distribusi Linux-FT saja yang mendapatkan sertifikasi POSIX.1.[20]
Proyek-proyek perangkat lunak bebas, walaupun dikembangkan dalam bentuk kolaborasi, sering dirilis secara terpisah. Akan tetapi, dikarenakan lisensi-lisensi perangkat lunak bebas secara eksplisit mengijinkan distribusi ulang, terdapat proyek-proyek yang bertujuan untuk mengumpulkan perangkat lunak-perangkat lunak tersebut dan menjadikannya tersedia dalam waktu bersamaan dalam suatu bentuk yang dinamakan distribusi Linux.
Sebuah distribusi Linux, yang umum disebut dengan "distro", adalah sebuah proyek yang bertujuan untuk mengatur sebuah kumpulan perangkat lunak berbasis Linux dan memfasilitasi instalasi dari sebuah sistem operasi Linux. Distribusi-distribusi Linux ditangani oleh individu, tim, organisasi sukarelawan dan entitas komersial. Distribusi Linux memiliki perangkat lunak sistem dan aplikasi dalam bentuk paket-paket dan perangkat lunak yang spesifik dirancang untuk instalasi dan konfigurasi sistem. Perangkat lunak tersebut juga bertanggung jawab dalam pemutakhiran paket. Sebuah Distribusi Linux bertanggung jawab atas konfigurasi bawaan, sistem keamanan dan integrasi secara umum dari paket-paket perangkat lunak sistem Linux.
[sunting] Komunitas
Sebuah sesi baris perintah menggunakan bash.
Linux dikendalikan oleh pengembang dan komunitas penggunanya. Beberapa vendor mengembangkan dan mendanai distribusi mereka sendiri dengan dasar kesukarelaan. Debian merupakan contoh yang bagus. Yang lain memiliki versi komunitas dari versi komersialnya seperti yang Red Hat lakukan dengan Fedora.
Di banyak kota dan wilayah, asosiasi lokal yang dikenal dengan nama Kelompok Pengguna Linux (Linux Users Group atau LUG) mempromosikan Linux dengan mengadakan pertemuan, demonstrasi, pelatihan, dukungan teknis dan instalasi sistem operasi Linux secara gratis. Ada banyak juga komunitas Internet yang menyediakan dukungan terhadap pengembang dan pengguna Linux. Banyak proyek distribusi dan perangkat lunak sumber terbuka yang memiliki ruang percakapan IRC atau newsgroup. Forum daring merupakan bentuk lain untuk mendapatkan dukungan, contoh: LinuxQuestions.org dan forum Gentoo. Distribusi Linux memiliki [milis]] dengan pembagian topik seperti penggunaan atau pengembangan.
Ada beberapa situs web teknologi yang berfokuskan kepada Linux. Linux Weekly News adalah sebuah cernaan mingguan dari berita-berita yang berkaitan dengan Linux. Sementara itu Linux Journal merupakan majalah Linux daring yang dirilis setiap bulan. Slashdot adalah situs web berita yang berhubungan dengan teknologi yang memiliki banyak berita tentang Linux dan perangkat lunak bebas. Groklaw memiliki berita mendalam tentang kemajuan Linux dan memiliki banyak artikel yang berhubungan dengan kernel Linux serta hubungannya dengan GNU dalam proyek GNU. Majalah Linux cetakan umumnya memiliki cakram sampul yang memuat perangkat lunak atau bahkan distribusi Linux lengkap.[21][22]
Walaupun Linux secara umum tersedia secara gratis, beberapa perusahaan besar menjalani model bisnis yang terdiri dari penjualan, dukungan dan kontribusi terhadap Linux dan perangkat lunak bebas; ini termasuk Dell, IBM, HP, Sun Microsystems, Novell, dan Red Hat. Lisensi perangkat lunak bebas di mana digunakan Linux secara eksplisit mengakomodasi komersialisasi; hubungan antara Linux dan vendor-vendor individual dapat dilihat sebagai suatu simbiosis. Satu model bisnis yang umum dari pemasok komersial yaitu dengan mengenakan biaya atas dukungan khususnya terhadap pengguna-pengguna kalangan bisnis. Sejumlah perusahaan menawarkan versi bisnis dari distribusi Linux mereka, antara lain berupa dukungan atas paket-paket tak bebas dan alat bantu untuk mengatur sejumlah besar instalasi atau untuk memudahkan tugas-tugas administratif. Model bisnis yang lain adalah dengan memberikan perangkat lunak secara gratis untuk penjualan perangkat keras.
[sunting] Pemrograman di Linux
Sebagian besar distribusi Linux mendukung banyak bahasa pemrograman. Koleksi peralatan untuk membangun aplikasi dan program-program sistem operasi yang umum terdapat di dalam GNU toolchain, yang terdiri atas GNU Compiler Collection (GCC) dan GNU build system. GCC menyediakan kompilator untuk Ada, C, C++, Java, dan Fortran. Kernel Linux sendiri ditulis untuk dapat dikompilasi oleh GCC. Kompilator tak bebas (proprietary) untuk Linux antara lain adalah Intel C++ Compiler dan IBM XL C/C++ Compiler.
Kebanyakan distribusi juga memiliki dukungan untuk Perl, Ruby, Python dan bahasa pemrograman dinamis lainnya. Contoh bahasa pemrograman yang tidak umum tetapi tetap mendapat dukungan di Linux antara lain adalah C# dengan proyek Mono yang disponsori oleh Novell, dan Scheme. Sejumlah Java Virtual Machine dan peralatan pengembang jalan di Linux termasuk Sun Microsystems JVM (HotSpot), dan J2SE RE IBM, serta proyek-proyek sumber terbuka lainnya seperti Kaffe. Dua kerangka kerja utama untuk pengembangan aplikasi grafis di Linux adalah GNOME dan KDE. Proyek-proyek ini berbasiskan GTK+ dan Qt. Keduanya mendukung beragam bahasa pemrograman. Untuk Integrated development environment terdapat Anjuta, Code::Blocks, Eclipse, KDevelop, Lazarus, MonoDevelop, NetBeans, dan Omnis Studio, sedangkan penyunting teks yang telah lama tersedia adalah Vim dan Emacs.[23]
[sunting] Penggunaan
Sebagian besar distribusi Linux didisain untuk penggunaan umum di komputer meja dan peladen, tetapi terdapat distribusi yang dikhususkan untuk tujuan dan lingkungan yang berbeda yang tergantung kepada dukungan arsitektur komputer, sistem benam, stabilitas, keamanan, lokalisasi ke wilayah atau bahasa tertentu, kelompok pengguna tertentu, dukungan aplikasi waktu nyata, atau lingkungan desktop tertentu. Beberapa distribusi bahkan mengikutkan hanya perangkat lunak bebas. Sekarang ini ada sekitar tiga ratus distribusi yang secara aktif dikembangkan, dengan sekitar selusin distribusi yang menjadi terpopuler untuk penggunaan secara umum.[24]
Linux adalah sistem operasi yang di-porting secara luas. Kernel Linux awalnya didisain hanya untuk mikroprosesor Intel 80386, sekarang kernel Linux telah jalan di beragam arsitektur komputer antara lain di perangkat hand-held iPAQ berbasis ARM, komputer mainframe IBM System z9, dari peralatan berupa telepon bergerak hingga superkomputer.[25] Terdapat distribusi yang dikhususkan untuk sejumlah kecil arsitektur. Fork kernel ELKS dapat dijalankan di mikroprosesor 16-bit Intel 8086 atau Intel 80286, sementara fork kernel µClinux dapat dijalankan di atas sistem yang tidak memiliki sebuah unit manajemen memori.
[sunting] Komputer meja
!Artikel utama untuk bagian ini adalah: Linux untuk komputer meja
Walaupun masih terdapat kekurangan dalam hal porting Linux untuk beberapa perangkat lunak Mac OS X dan Microsoft Windows untuk domain seperti desktop publishing[26] dan audio profesional,[27][28][29] aplikasi yang secara kasar sama dengan aplikasi-aplikasi untuk Mac dan Windows tersebut tersedia di Linux.[30]
Kebanyakan distribusi Linux menyediakan sebuah program untuk melihat daftar ribuan perangkat lunak bebas yang telah diuji dan dikonfigurasi untuk sebuah distribusi yang spesifik. Program-program bebas ini dapat diunduh dan diinstal dengan satu klik tetikus dan sebuah tanda tangan digital menjamin bahwa tidak ada seorangpun yang menambahkan virus atau spyware ke program-program tersebut.
Banyak perangkat lunak bebas yang populer di Windows seperti Pidgin, Mozilla Firefox, OpenOffice.org dan GIMP. Jumlah perangkat lunak berbayar di Linux juga semakin bertambah[31] seperti Adobe Flash Player, Acrobat Reader, Matlab, Nero Burning ROM, Opera, RealPlayer, dan Skype. Dalam animasi dan efek visual, terdapat juga perangkat lunak di Linux seperti halnya Windows seperti AutoDesk Maya, Softimage XSI dan Apple Shake. CrossOver merupakan perangkat lunak berbayar berbasis proyek sumber terbuka Wine yang dapat menjalankan versi lama dari Microsoft Office dan Adobe Photoshop. Microsoft Office 2007 dan Adobe Photoshop CS3 diketahui dapat dijalankan[32][33]
[sunting] Hak cipta dan merek dagang
Linux kernel dan sebagian besar perangkat lunak GNU menggunakan GNU General Public License (GPL) sebagai basis lisensinya. GPL mengharuskan siapapun yang mendistribusikan kernel linux harus membuat kode sumber (dan semua modifikasi atas itu) tersedia bagi pengguna dengan kriteria yang sama. Tahun 1997, Linus Torvald menyatakan, “Menjadikan Linux berbasis GPL sungguh merupakan hal terbaik yang pernah saya lakukan.”[34] Komponen penting lain dalam sistem Linux diijinkan menggunakan lisensi selain dari GPL; banyak pustaka menggunakan GNU Lesser General Public License (LGPL), varian GPL yang lebih moderat, dan sistem X Window System menggunakan MIT License.
Linus Torvald telah menyatakan ke khayalak umum bahwa ia tidak akan memindahkan lisensi kernel Linux yang saat ini menggunakan GPL versi 2 ke GPL versi 3, yang ditembangkan pada pertengahan tahun 2007, dengan alasan beberapa ketentuan yang terdapat pada lisensi baru tersebut melarang penggunaan perangkat lunak dalam manajemen hak digital (Inggris: Digital rights management).[35][36]
Penelitian yang dilakukan pada tahun 2001 terhadap Red Hat Linux 7.1 menemukan bahwa distro perangkat lunak tersebut terdiri atas 30 juta baris kode. Dengan menggunakan algoritma model biaya konstruktif (Inggris:Constructive Cost Model), penelitian itu memperkirakan bahwa distro tersebut membutuhkan waktu kira-kira delapan ribu tahun kerja untuk mengembangkannya. Menurut penelitian tersebut, jika semua elemen dari perangkat lunak tersebut dikembangkan dengan cara konvensional dalam artian sebagai perangkat lunak tertutup, pengembangan distro tersebut akan menelan biaya sebesar 1,08 miliar dolar (basis nilai tukar dolar tahun 2000) untuk dikembangkan di Amerika Serikat.[37]
Sebagian besar kode (71%) ditulis dengan menggunakan bahasa pemrograman C, namun banyak bahasa lainnya juga ikut terlibat seperti C++, Assembly, Perl, Python, Fortran, dan berbagai bahasa skrip lain. Lebih dari separuh dari seluruh kode dilisensikan di bawah naungan GPL. Kernel linux itu sendiri terdiri atas 2,4 juta baris kode, atau sekitar 8% dari total keseluruhan.[37]
Penelitian lainnya menghasilkan analisis yang sama terhadap distro Debian GNU/Linux versi 4.0.[38] Distro tersebut terdiri atas lebih dari 283 juta baris kode, dan penelitian tersebut memperkirakan biaya pengembangan yang dibutuhkan sebesar 5,4 miliar euro jika dikembangkan sebagai perangkat linak tertutup.
Di Amerika Serikat, Linux merupakan merek dagang (SN: 1916230) yang dimiliki oleh Linus Torvalds. Linux terdaftar sebagai "Program sistem operasi komputer bagi penggunaan komputer dan operasi". Merek dagang ini didaftarkan setelah ada suatu kejadian di mana seorang pemalsu bernama William R Della Croce Jr mulai mengirim surat kepada para distributor Linux dan megklaim trademark Linux adalah hakmiliknya serta meminta royalti sebanyak 10% dari mereka. Para distributor Linux mulai mendorong agar trademark yang asli diberikan kepada Linus Torvalds. Pemberian lisensi trademark Linux sekarang dibawah pengawasan Linux Mark Institute.
[sunting] Distribusi Linux
Lihat juga Distribusi Linux
Terdapat banyak distribusi Linux (lebih dikenali sebagai distro) yang dibuat oleh individu, grup, atau lembaga lain. Masing-masing disertakan dengan program sistem dan program aplikasi tambahan, di samping menyertakan suatu program yang memasang keseluruhan sistem di komputer (installer program).
Inti di setiap distribusi Linux adalah kernel, koleksi program dari proyek GNU (atau proyek lain), cangkang (shell), dan aturcara utilitas seperti pustaka (libraries), kompilator, dan penyunting (editor). Kebanyakan sistem juga menyertakan aturcara dan utilitas yang bukan-GNU. Bagaimanapun, utilitas tersebut dapat dipisahkan dan sistem ala UNIX masih tersedia. Beberapa contoh adalah aturcara dan utiliti dari BSD dan sistem grafik-X (X-Window System). X menyediakan antarmuka grafis (GUI) yang umum untuk Linux.
Contoh-contoh distribusi Linux :
Ubuntu dan derivatifnya : Sabily (Ubuntu Muslim Edition), Kubuntu, Xubuntu, Edubuntu, GoBuntu, Gnewsense, ubuntuCE
SuSE
Fedora
BackTrack
Mandriva
Slackware
Debian
PCLinuxOS
Knoppix
Xandros
Sabayon
CentOS
Red Hat
ClearOS
Chromeos
[sunting] Aplikasi sistem operasi Linux
Pengguna Linux, yang pada umumnya memasang dan melakukan sendiri konfigurasi terhadap sistem, lebih cenderung mengerti teknologi dibanding pengguna Microsoft Windows atau Mac OS. Mereka sering disebut hacker atau geek. Namun stereotipe ini semakin berkurang dengan peningkatan sifat ramah-pengguna Linux dan makin luasnya pengguna distribusi. Linux telah membuat pencapaian yang cukup baik dalam pasaran komputer server dan komputer tujuan khusus, seperti mesin render gambar dan server web. Linux juga mulai populer dalam pasaran komputer desktop.
Linux merupakan asas kepada kombinasi program-server LAMP, kependekan dari Linux, Apache, MySQL, Perl/PHP/Python. LAMP telah mencapai popularitas yang luas di kalangan pengembang Web.
Linux juga sering digunakan sebagai sistem operasi embeded. Biaya pengadaan Linux yang murah memungkinkan penggunaannya dalam peralatan seperti simputer, yaitu komputer berbiaya rendah yang ditujukan pada penduduk berpendapatan rendah di Negara-negara berkembang.
Dengan lingkungan desktop seperti KDE dan GNOME, Linux menawarkan antarmuka pengguna yang lebih menyerupai Apple Macintosh atau Microsoft Windows daripada antarmuka baris teks seperti Unix. Oleh karena itu, lebih banyak program grafik dapat ditemui pada Linux yang menawarkan berbagai fungsi yang ada pada utilitas komersil.
[sunting] Pasar serta kemudahan pemakaian
Saat ini, linux yang pada awalnya hanya merupakan sistem operasi yang digunakan oleh peminat komputer, telah menjadi sistem yang lebih mudah digunakan (user-friendly), dilengkapi dengan antarmuka grafis dan ketersediaan berbagai macam aplikasi yang lebih mirip dengan sistem operasi lainnya, daripada hanya sebatas baris perintah Unix. Namun kesan ini telah menimbulkan banyak kritikan, termasuk dari pendukung Linux. Mereka berpendapat bahwa Linux dan proyek program bebas masih belum mencapai faktor "kemudahanan dalam pemakaian" yang memuaskan. Persoalan tentang kemudahan Linux dibanding Windows atau Macintosh masih menjadi isu perdebatan yang hangat. Pasaran Linux pada segmen komputer meja masih lebih kecil namun semakin berkembang. Menurut Lembaga Penyelidikan Pasaran IDC, besar pasaran Linux pada tahun 2002 adalah 25% pada segmen server, dan 2.8% pada segmen pasar Komputer pribadi.
Bagi mereka yang terbiasa menggunakan Windows atau Macintosh, Linux mungkin terasa lebih sukar, hal ini disebabkan karena perbedaan dalam melakukan berbagai kerja komputer. Dan lagi, pengguna perlu mengganti program yang sering mereka gunakan dengan program lain sebagai pengganti bila program tersebut tidak didapati dalam Linux (atau pilihan yang agak terbatas, misalnya permainan komputer). Faktor lain adalah sifat keraguraguan pengguna untuk melepaskan sistem operasi mereka yang biasa mereka pergunakan (banyak pengguna masih menggunakan Windows). Selain itu, kebanyakan komputer baru telah dilengkapi dengan sistem operasi Windows siap pakai (preinstalled). Faktor-faktor ini menyebabkan perkembangan Linux yang agak lambat.
Walau bagaimanapun, kelebihan Linux seperti biaya rendah, sekuritas yang lebih aman, dan tidak bergantung pada vendor, telah meningkatkan penggunaan yang luas di kalangan korporasi dan perkantoran. Dalam situasi ini, halangan yang disebut di atas dapat dikurangi karena hanya aplikasi/utiliti yang terbatas digunakan, serta administrasi dan konfigurasi komputer (administration) dikendalikan oleh sekumpulan pekerja pakar IT yang sedikit.
Terdapat berbagai kajian yang dilakukan terbatas biaya serta kemudahanan Linux. Relevantive (sebuah lembaga berpusat di Berlin, yang mengkhususkan diri dalam riset lembaga tentang ke'mudahan'an program, serta servis web) telah membuat kesimpulan bahawa ke-dapatpakai-an Linux dalam pekerjaan dengan menggunakan komputer meja adalah hampir sama dengan Windows XP. Bagaimanapun, kajian oleh IDC (yang dibiayai oleh Microsoft) mengklaim bahwa Linux mempunyai biaya pemilikan (Total Cost of Ownership) yang lebih tinggi dibanding Windows.
Linux juga sering dikritik karena jadwal penembangannya yang tidak dapat diduga. Secara langsung, menyebabkan minat penggunaan linux pada lapisan pengguna Enterprise lebih kecil dibandingkan sistem operasi lain (Sumber:Marcinkowski, 2003). Disamping itu, ragam pilihan distribusi Linux yang cukup banyak juga dikatakan membingungkan konsumer, dan vendor program.
[sunting] Instalasi
Proses instalasi Linux yang sukar seringkali menjadi penghalang bagi pengguna baru, namun proses ini sekarang sudah menjadi lebih mudah. Dengan penerimaan Linux oleh beberapa pabrikan komputer pribadi besar, komputer terpasang (built up) dengan distribusi Linux siap pakai saat ini banyak tersedia. Selain itu, terdapat juga distribusi Linux yang dapat dijalankan (boot) secara langsung dari cakram optik (CD) tanpa perlu diinstalasi ke cakram keras (hard disk); hal ini dikenal dengan istilah Live CD. Contoh distribusi dalam bentuk Live CD adalah Knoppix/Gnoppix, Kubuntu/Ubuntu dan Gentoo. Saat ini hampir semua distribusi Linux menyediakan versi Live CD untuk produknya. ISO image untuk cakram optik untuk distribusi Linux tersebut biasanya dapat diunduh dari Internet, dibakar ke CD, dan selanjutnya dapat digunakan sebagai CD yang siap untuk proses boot. Bahkan ISO image untuk beberapa distro dapat langsung di jalankan tanpa perlu membakar kedalam CD/DVD.
Instalasi Linux juga merupakan instalasi berupa suite, yaitu dimana penginstalasian tersebut secara otomatis menginstalasi program-program standar, seperti pemutar MP3, Office Suite, dan pengolah gambar.
[sunting] Konfigurasi
Konfigurasi setelan Linux dan aplikasi di atasnya banyak yang dilakukan lewat berkas teks di direktori /etc. Pada perkembangan selanjutnya, utilitas seperti Linuxconf dan GNOME System Tools memudahkan pekerjaan ini lewat antarmuka grafik. Kendati demikian, baris perintah (command line) tetap merupakan cara yang paling umum digunakan.
[sunting] Dukungan
Dukungan bagi Linux biasanya didapatkan melalui peer(dalam konteks ini maksudnya kelompok pengguna linux/KPLI) - pengguna Linux lain di dalam forum internet, IRC, newsgroup dan mailing list. Kelompok Pengguna Linux (LUG, Linux User Group) telah didirikan di seluruh dunia untuk membantu pengguna lokal, pengguna baru, dan pengguna berpengalaman. Di Indonesia kelompok ini tergabung dalam KPLI daerah seperti KPLI Jakarta, KPLI Bandung, KPLI NTB dan masih banyak lainnya. Bantuan termasuk instalasi, penggunaan, pengadaan serta menggalakkan pengembangan sistem Linux.
Dukungan resmi Linux di Indonesia dapat diperoleh di Linux User Group (LUG) Indonesia atau http://linux.or.id atau http://www.infolinux.or.id
Dukungan komersil bagi distribusi Linux secara umum menggunakan model bisnis dengan menyediakan dukungan teknis. Dukungan pihak ketiga juga sudah tersedia.
[sunting] Skala usaha pembangunan Linux
Sebuah studi (More Than a Gigabuck: Estimating GNU/Linux's Size [2]) Terhadap Red Hat Linux 7.1 menemukan bahwa distribusi ini berisi 30 juta baris kode sumber (‘’source lines of code (SLOC)’’). Menggunakan model biaya COCOMO studi ini menunjukan bahwa distribusi ini memerlukan waktu pengembangan sebanyak 8000 tahun, apabila software ini di kembangkan dengan cara proprietary konvensional. Dan akan menghabiskan sekitar 1.08 miliar dolar (dolar tahun 2000) untuk dikembangkan di Amerika Serikat.
Mayoritas dari kode (71%) ditulis dalam C, namun banyak bahasa lain digunakan, termasuk C++ shell scripts, Lisp, assembly language, Perl, Fortran dan Python.
Sekitar setengah dari kodenya di lisensikan di bawah GPL.
Kernel Linux mengandung 2.4 juta baris kode, atau sekitar 8% dari total kode yang dipakai dalam sebuah distribusi/distro. Hal ini menunjukan bahwa mayoritas dari distribusi Linux terdiri dari kode yang tidak terkandung dalam Kernel Linux.
[sunting] "GNU/Linux"
Lihat Kontroversi Penamaan GNU/Linux
GNU adalah singkatan dari GNU's Not Unix.
Disebabkan utiliti-utiliti dari proyek sistem operasi bebas GNU - tanpa ini sistem Linux tidak akan menyerupai sistem Unix dalam perspektif pengguna - Richard Stallman dari GNU/FSF memohon agar kombinasi sistem (proyek GNU dan kernel Linux), disebut sebagai "GNU/Linux". Pengguna distribusi Linux dari proyek Debian lebih cenderung menggunakan nama tersebut. Kebanyakan pengguna lebih mudah menggunakan istilah "Linux".
[sunting] Tindakan Undang-undang (Litigasi)
sumber: wikipedia