Anda di halaman 1dari 10

Pemrograman

Pemrograman adalah proses menulis, menguji dan memperbaiki (debug), dan


memelihara kode yang membangun sebuah program komputer. Kode ini ditulis dalam
berbagai bahasa pemrograman. Tujuan dari pemrograman adalah untuk memuat suatu
program yang dapat melakukan suatu perhitungan atau 'pekerjaan' sesuai dengan
keinginan si pemrogram. Untuk dapat melakukan pemrograman, diperlukan keterampilan
dalam algoritma, logika, bahasa pemrograman, dan di banyak kasus, pengetahuan-
pengetahuan lain seperti matematika.

Pemrograman adalah sebuah seni dalam menggunakan satu atau lebih algoritma
yang saling berhubungan dengan menggunakan sebuah bahasa pemrograman tertentu
sehingga menjadi sebuah program komputer. Bahasa pemrograman yang berbeda
mendukung gaya pemrograman yang berbeda pula. Gaya pemrograman ini biasa disebut
paradigma pemrograman.

Apakah memprogram perangkat lunak lebih merupakan seni, ilmu, atau teknik
telah lama diperdebatkan. Pemrogram yang baik biasanya mengkombinasikan tiga hal
tersebut, agar dapat menciptakan program yang efisien, baik dari sisi waktu berjalan
(running time), atau memori.

I.Bahasa Pemrograman
Perbedaan bahasa pemrograman dapat menjadi penyebab perbedaan paradigma
pemrograman. Pilihan bahasa pemrograman dipengaruhi banyak alasan, seperti
kecocokan dengan kriteria program dan jenis aplikasi yang akan dibuat.

Beberapa bahasa pemrograman adalah:

• Pascal
• Basic
• C atau C++
• Cobol
• Java
• Fortran
• Ada
II.Pemrograman Kompetitif
Pemrograman adalah bahan yang banyak digunakan di berbagai kompetisi
komputer di Indonesia maupun dunia. Di tingkat SMA, contohnya, pemrograman
dipertandingkan dalam Olimpiade Sains Nasional setiap tahunnya. Ketigapuluh peraih
medali di Olimpiade Sains Nasional ini kemudian menjadi Tim Olimpiade Komputer
Indonesia, dan menempuh Pelatihan Nasional yang menyeleksi empat orang wakil untuk
mengikuti Olimpiade Sains Internasional bidang Informasi (International Olympiad in
Informatics) yang diadakan setiap tahunnya.

Dalam rekayasa perangkat lunak, pemrograman (pelaksanaan) dianggap sebagai


salah satu tahap dalam proses pengembangan perangkat lunak.Ada sebuah perdebatan
yang sedang berlangsung pada sejauh mana program penulisan adalah seni, kerajinan
atau disiplin teknik. [1] Secara umum, baik programming adalah dianggap sebagai
aplikasi diukur dari ketiga, dengan tujuan menghasilkan efisien dan solusi perangkat
lunak evolvable (kriteria untuk "efisien" dan "evolvable" sangat bervariasi). Disiplin yang
berbeda dari berbagai profesi teknis dalam programer, pada umumnya, tidak perlu izin
atau lulus standar (atau governmentally diatur) tes sertifikasi untuk menyebut diri mereka
"programer" atau bahkan "insinyur perangkat lunak." Namun, mewakili diri sendiri
sebagai seorang "Professional Software Engineer" tanpa lisensi dari lembaga yang
terakreditasi ilegal di banyak bagian dunia. [Rujukan?]

Lain sedang berlangsung perdebatan adalah sejauh mana bahasa pemrograman


yang digunakan dalam menulis program komputer yang mempengaruhi bentuk program
akhir diperlukan. Perdebatan ini analog dengan mengelilingi hipotesis Sapir-Whorf [2]
dalam linguistik, yang mendalilkan bahwa suatu bahasa tertentu sifat mempengaruhi
pikiran kebiasaan dari speaker. Pola bahasa yang berbeda menghasilkan pola pikir yang
berbeda. Ide ini menantang kemungkinan mewakili dunia secara sempurna dengan
bahasa, karena mengakui bahwa mekanisme bahasa apapun kondisi pikiran pembicara
dari masyarakat.

Kata lain, pemrograman adalah kerajinan persyaratan mengubah menjadi sesuatu


yang dapat mengeksekusi sebuah komputer. [sunting] Sejarah pemrograman Lihat juga:
Sejarah bahasa pemrograman Wired plug board untuk IBM 402 Accounting Machine.

Konsep perangkat yang beroperasi setelah telah ditetapkan, set instruksi ditelusuri
ke Mitologi Yunani, terutama Hephaestus dan pelayan mekanis [3]. Para mekanisme
Antikythera kalkulator menggunakan persneling dari berbagai ukuran dan konfigurasi
untuk menentukan operasi. Dikenal paling awal dapat diprogram mesin (mesin yang
perilakunya dapat dikendalikan dan diprediksi dengan satu set instruksi) adalah Al-
Jazari's programmable Automata pada 1206. [4] Salah seorang Al-Jazari's robot ini
awalnya sebuah perahu otomatis dengan empat musisi yang mengambang di danau untuk
menghibur para tamu di pesta minum kerajaan. Pemrograman perilaku mekanisme ini
berarti menempatkan pasak dan Cams ke drum kayu di lokasi tertentu. Ini kemudian akan
bertabrakan dengan pengungkit kecil yang beroperasi alat musik perkusi. Keluaran dari
perangkat ini adalah drumer kecil bermain berbagai ritme dan pola drum. [5] [6] canggih
lainnya mesin diprogram oleh Al-Jazari adalah benteng jam, terkenal karena konsep
variabel, yang operator bisa memanipulasi yang diperlukan ( yaitu, panjang siang dan
malam). The Jacquard Loom, Joseph Marie Jacquard yang dikembangkan pada tahun
1801, menggunakan serangkaian kartu karton dengan menekan lubang di dalamnya. Pola
lubang pola yang mewakili alat tenun harus mengikuti menenun kain. Alat tenun bisa
menghasilkan tenun yang sama sekali berbeda dengan menggunakan kumpulan kartu
yang berbeda. Charles Babbage mengadopsi penggunaan kartu menekan sekitar tahun
1830 untuk mengendalikan Analytical Engine. Sintesis perhitungan numerik, operasi dan
output telah ditentukan, bersama dengan cara untuk mengatur dan masukan petunjuk
dalam cara yang relatif mudah bagi manusia untuk hamil dan menghasilkan,
menyebabkan perkembangan modern pemrograman komputer. Pengembangan
pemrograman komputer dipercepat melalui Revolusi Industri.

Pada akhir 1880-an, Herman Hollerith menciptakan rekaman data pada media
yang kemudian dapat dibaca oleh mesin. Sebelum menggunakan mesin yang dapat dibaca
dari media, di atas, telah untuk kontrol, bukan data. "Setelah beberapa percobaan awal
dengan kertas pita, ia menetap di kartu menekan ..."[ 7] Untuk memproses kartu menekan
ini, pertama dikenal sebagai" kartu Hollerith "dia menciptakan mesin tabulasi, dan kunci
mesin punch. Ketiga penemuannya dasar dari industri pengolahan informasi modern.
Pada tahun 1896 ia mendirikan Tabulating Machine Company (yang kemudian menjadi
inti dari IBM). Penambahan panel kontrol ke Tipe I Tabulator 1906 memungkinkannya
untuk melakukan pekerjaan yang berbeda tanpa harus secara fisik dibangun kembali.
Pada akhir 1940-an, ada berbagai plug-board programmable mesin, yang disebut catatan
unit peralatan, untuk melakukan tugas-tugas pengolahan data (kartu membaca).
Pemrogram komputer awal plug-papan yang digunakan untuk berbagai perhitungan
kompleks diminta dari mesin yang baru diciptakan. Data dan instruksi dapat disimpan
pada kartu punch eksternal, yang disimpan dalam rangka program dan disusun dalam
deck.

Penemuan arsitektur Von Neumann memungkinkan program komputer untuk


disimpan dalam memori komputer. Program awal harus susah payah dibuat dengan
menggunakan instruksi mesin tertentu, sering kali dalam notasi biner. Setiap model
komputer mungkin akan memerlukan berbagai instruksi untuk melakukan tugas yang
sama. Bahasa assembly kemudian dikembangkan yang memungkinkan programmer
menentukan setiap instruksi dalam format teks, singkatan memasukkan kode untuk setiap
operasi, bukan menetapkan sebuah nomor dan alamat dalam bentuk simbolik (misalnya,
ADD X, TOTAL). Pada tahun 1954 ditemukan Fortran, menjadi yang pertama bahasa
pemrograman tingkat tinggi yang memiliki implementasi fungsional. [8] [9] Hal
diperbolehkan pemrogram untuk menentukan perhitungan dengan memasukkan formula
secara langsung (misalnya Y = X * 2 + 5 * X + 9) . Program teks, atau sumber, diubah
menjadi instruksi mesin menggunakan program khusus yang disebut kompilator. Banyak
bahasa lainnya dikembangkan, termasuk beberapa program untuk komersial, seperti
COBOL. Program itu sebagian besar masih masuk menggunakan kartu atau kertas punch
tape. (Lihat pemrograman komputer di era kartu punch). Pada akhir 1960-an, perangkat
penyimpanan data dan terminal komputer menjadi cukup murah sehingga program dapat
dibuat dengan mengetikkan langsung ke dalam komputer. Editor teks dikembangkan
yang memungkinkan perubahan dan perbaikan harus dilakukan jauh lebih mudah
dibandingkan dengan punch card.

Ketika waktu telah berkembang, komputer telah membuat lompatan raksasa di


bidang pengolahan kekuasaan. Ini telah membawa bahasa pemrograman baru yang lebih
disarikan dari hardware yang mendasarinya. Walaupun bahasa tingkat tinggi biasanya
dikenakan biaya overhead yang lebih besar, peningkatan kecepatan komputer modern
telah membuat penggunaan bahasa-bahasa ini jauh lebih praktis daripada di masa lalu. Ini
semakin disarikan bahasa biasanya lebih mudah untuk belajar dan memungkinkan para
programmer untuk mengembangkan aplikasi jauh lebih efisien dan dengan lebih sedikit
kode. Namun, bahasa tingkat tinggi masih praktis untuk beberapa program, seperti yang
di mana tingkat rendah diperlukan pengendalian perangkat keras atau di mana kecepatan
pemrosesan berada pada premi.

Sepanjang paruh kedua abad kedua puluh, pemrograman adalah karier yang
menarik di sebagian besar negara-negara maju. Beberapa bentuk pemrograman telah
lepas pantai semakin tunduk pada outsourcing (impor perangkat lunak dan jasa dari
negara-negara lain, biasanya pada upah yang lebih rendah), membuat keputusan karier
pemrograman di negara maju lebih rumit, sementara meningkatkan peluang ekonomi di
daerah-daerah kurang berkembang. Tidak jelas sejauh mana tren ini akan berlanjut dan
seberapa dalam dampak akan programmer upah dan kesempatan. [sunting] Modern
pemrograman [sunting] Kualitas persyaratan

Apapun pendekatan pengembangan perangkat lunak mungkin, program akhir harus


memenuhi beberapa sifat mendasar. Properti berikut adalah di antara yang paling relevan:

• Efisiensi / kinerja: jumlah sumber daya sistem program yang mengkonsumsi


(prosesor waktu, ruang memori, perangkat lambat seperti disk, bandwidth
jaringan dan bahkan sampai batas tertentu interaksi dari pemakai): semakin
sedikit, semakin baik. Ini juga termasuk pembuangan benar beberapa sumber,
seperti membersihkan file-file sementara dan tidak adanya kebocoran memori.
• Reliabilitas: seberapa sering hasil dari sebuah program sudah benar. Hal ini
tergantung pada kebenaran konseptual algoritma, dan pemrograman minimisasi
kesalahan, seperti kesalahan dalam manajemen sumber daya (misalnya, buffer
overflows dan ras kondisi) dan kesalahan logika (seperti pembagian dengan nol).
• Kekokohan: seberapa baik program masalah mengantisipasi bukan karena
kesalahan programmer. Ini termasuk situasi seperti salah, tidak pantas atau
merusak data, tidak tersedianya sumber daya yang dibutuhkan seperti memori,
sistem operasi layanan dan koneksi jaringan, dan kesalahan pengguna.
• Kegunaan: yang ergonomi sebuah program: kemudahan dengan mana seseorang
dapat menggunakan program untuk tujuan, atau dalam beberapa kasus bahkan
tujuan tak terduga. Isu-isu tersebut dapat membuat atau menghancurkan
kesuksesan bahkan tanpa masalah lain. Hal ini melibatkan berbagai tekstual,
grafis dan kadang-kadang elemen-elemen perangkat keras yang meningkatkan
kejelasan, intuitif, kekompakan dan kelengkapan program antarmuka pengguna.
• Portabilitas: kisaran perangkat keras komputer dan platform sistem operasi yang
kode sumber dari program dapat dikompilasi / ditafsirkan dan lari. Hal ini
tergantung pada perbedaan-perbedaan dalam fasilitas pemrograman yang
disediakan oleh platform yang berbeda, termasuk hardware dan sistem operasi
sumber daya, perilaku yang diharapkan dari hardware dan sistem operasi, dan
ketersediaan platform compiler tertentu (dan kadang-kadang perpustakaan) untuk
bahasa dari source code.
• Kemampu-rawatan: kemudahan dengan sebuah program yang dapat dimodifikasi
oleh pengembang sekarang atau di masa mendatang dalam rangka untuk membuat
perbaikan atau penyesuaian, memperbaiki bug dan lubang keamanan, atau
disesuaikan dengan lingkungan baru. Praktek yang baik selama pengembangan
awal membuat perbedaan dalam hal ini. Kualitas ini mungkin tidak secara
langsung jelas bagi pengguna akhir tetapi dapat secara signifikan mempengaruhi
nasib sebuah program jangka panjang.

III.Algorithmic Kompleksitas
Bidang akademik dan praktek teknik pemrograman komputer yang baik terutama
berkaitan dengan menemukan dan menerapkan algoritma yang paling efisien untuk suatu
masalah kelas. Untuk tujuan ini, algoritma diklasifikasikan menjadi perintah dengan
menggunakan apa yang disebut notasi Big O, O (n), yang mengungkapkan penggunaan
sumber daya, seperti waktu eksekusi atau pemakaian memori, dalam hal ukuran sebuah
input. Ahli programmer yang akrab dengan berbagai mapan algoritma dan kompleksitas
masing-masing dan menggunakan pengetahuan ini untuk memilih algoritma yang paling
cocok dengan keadaan. [sunting] Metodologi

Langkah pertama dalam sebagian besar proyek-proyek pengembangan perangkat


lunak formal adalah analisis persyaratan, diikuti dengan pengujian untuk menentukan
model nilai, pelaksanaan, dan kegagalan penghapusan (debug). Terdapat banyak
pendekatan yang berbeda untuk masing-masing tugas. Salah satu pendekatan yang
populer untuk analisis kebutuhan adalah Kasus Gunakan analisis.

Teknik model populer meliputi Object-Oriented Analysis and Design (OOAD)


dan Model-Driven Architecture (MDA). The Unified Modeling Language (UML) adalah
sebuah notasi yang digunakan untuk kedua OOAD dan MDA.

Teknik yang sama digunakan untuk desain database adalah Entity-Relationship


Modeling (ER Modeling).

Pelaksanaan teknik termasuk bahasa imperatif (object-oriented atau prosedural),


fungsional bahasa, dan logika bahasa. [sunting] Mengukur pemakaian bahasa

Sangat sulit untuk menentukan apa yang paling populer bahasa pemrograman
modern. Beberapa bahasa yang sangat populer untuk jenis aplikasi tertentu (misalnya,
COBOL masih kuat di pusat data perusahaan, sering pada mainframe besar, FORTRAN
dalam aplikasi teknik, bahasa scripting dalam pengembangan web, dan C dalam aplikasi
embedded), sementara beberapa bahasa teratur digunakan untuk menulis berbagai macam
aplikasi.

Metode untuk mengukur popularitas bahasa pemrograman meliputi: menghitung


jumlah iklan lowongan pekerjaan yang menyebutkan bahasa , jumlah buku-buku
pengajaran bahasa yang dijual (overestimates ini pentingnya bahasa baru), dan perkiraan
jumlah baris yang ada kode yang ditulis dalam bahasa (meremehkan ini jumlah pengguna
bahasa bisnis seperti COBOL).Debugging Sebuah bug, yang debugged pada tahun 1947.

Debugging adalah tugas yang sangat penting dalam proses pengembangan


perangkat lunak, karena program yang salah dapat memiliki konsekuensi yang signifikan
bagi penggunanya. Beberapa bahasa yang lebih rentan terhadap beberapa jenis kesalahan
karena mereka tidak memerlukan spesifikasi kompiler untuk melakukan pengecekan
sebanyak bahasa lainnya. Penggunaan alat analisis statis dapat membantu mendeteksi
beberapa kemungkinan masalah.

Debug sering dilakukan dengan IDE seperti Visual Studio, NetBeans, dan
Eclipse. Standalone debugger seperti gdb juga digunakan, dan ini kurang sering
menyediakan lingkungan visual, biasanya menggunakan baris perintah. [sunting] Bahasa
pemrograman Artikel utama: bahasa pemrograman dan bahasa pemrograman Daftar

Bahasa pemrograman yang berbeda mendukung gaya pemrograman yang berbeda


(disebut paradigma pemrograman). Pilihan bahasa yang digunakan adalah tunduk pada
banyak pertimbangan, seperti kebijakan perusahaan, kesesuaian untuk tugas, ketersediaan
pihak ketiga paket, atau keinginan individunya. Idealnya, bahasa pemrograman yang
paling cocok untuk tugas yang dihadapi akan dipilih. Trade-off dari ideal ini melibatkan
cukup menemukan programmer yang tahu bahasa untuk membangun sebuah tim,
ketersediaan compiler untuk bahasa, dan efisiensi dengan program-program yang ditulis
dalam bahasa tertentu mengeksekusi.

Allen Downey, dalam bukunya How To Think Like A Computer Scientist,


menulis:

Rincian terlihat berbeda dalam berbagai bahasa, tetapi beberapa petunjuk dasar muncul di hampir setiap
bahasa:

* Input: Get data dari keyboard, file, atau beberapa perangkat lain.

* Output: Display data pada layar atau mengirim data ke file atau perangkat lain.

* Berhitung: Lakukan operasi aritmatika dasar seperti penjumlahan dan perkalian.

* Bersyarat eksekusi: Periksa kondisi tertentu dan melaksanakan urutan sesuai pernyataan.

* Pengulangan: Lakukan beberapa tindakan berulang-ulang, biasanya dengan beberapa variasi.

Banyak bahasa komputer menyediakan mekanisme untuk memanggil fungsi yang


disediakan oleh perpustakaan. Menyediakan fungsi-fungsi di perpustakaan mengikuti
konvensi runtime yang sesuai (misalnya, metode lewat argumen), maka fungsi-fungsi ini
dapat ditulis dalam bahasa lainnya.Pemrogram Artikel utama: Programmer Lihat juga:
Software pengembang dan Software engineer

Pemrogram komputer adalah orang-orang yang menulis perangkat lunak


komputer. Pekerjaan mereka biasanya meliputi:

* Coding
* Kompilasi
* Dokumentasi
* Integrasi
* Pemeliharaan
* Persyaratan analisis
* Software arsitektur
* Software pengujian
* Spesifikasi
* Debugging

Sistem Informasi Management


I.Pengertian
Sistem informasi manajemen (SIM) (bahasa Inggris: management information system,
MIS) adalah bagian dari pengendalian internal suatu bisnis yang meliputi pemanfaatan
manusia, dokumen, teknologi, dan prosedur oleh akuntansi manajemen untuk
memecahkan masalah bisnis seperti biaya produk, layanan, atau suatu strategi bisnis.
Sistem informasi manajemen dibedakan dengan sistem informasi biasa karena SIM
digunakan untuk menganalisis sistem informasi lain yang diterapkan pada aktivitas
operasional organisasi. Secara akademis, istilah ini umumnya digunakan untuk merujuk
pada kelompok metode manajemen informasi yang bertalian dengan otomasi atau
dukungan terhadap pengambilan keputusan manusia, misalnya sistem pendukung
keputusan, sistem pakar, dan sistem informasi eksekutif

II.Tujuan Umum
• Menyediakan informasi yang dipergunakan di dalam perhitungan harga pokok
jasa, produk, dan tujuan lain yang diinginkan manajemen.
• Menyediakan informasi yang dipergunakan dalam perencanaan, pengendalian,
pengevaluasian, dan perbaikan berkelanjutan.
• Menyediakan informasi untuk pengambilan keputusan.

Ketiga tujuan tersebut menunjukkan bahwa manajer dan pengguna lainnya perlu
memiliki akses ke informasi akuntansi manajemen dan mengetahui bagaimana cara
menggunakannya. Informasi akuntansi manajemen dapat membantu mereka
mengidentifikasi suatu masalah, menyelesaikan masalah, dan mengevaluasi kinerja
(informasi akuntansi dibutuhkan dam dipergunakan dalam semua tahap manajemen,
termasuk perencanaan, pengendalian dan pengambilan keputusan).

III.Proses Manajemen
Proses manajemen didefinisikan sebagai aktivitas-aktivitas:

• Perencanaan, formulasi terinci untuk mencapai suatu tujuan akhir tertentu adalah
aktivitas manajemen yang disebut perencanaan. Oleh karenanya, perencanaan
mensyaratkan penetapan tujuan dan identifikasi metode untuk mencapai tujuan
tersebut.
• Pengendalian, perencanaan hanyalah setengah dari peretempuran. Setelah suatu
rencana dibuat, rencana tersebut harus diimplementasikan, dan manajer serta
pekerja harus memonitor pelaksanaannya untuk memastikan rencana tersebut
berjalan sebagaimana mestinya. Aktivitas manajerial untuk memonitor
pelaksanaan rencana dan melakukan tindakan korektif sesuai kebutuhan, disebut
kebutuhan.
• Pengambilan Keputusan, proses pemilihan diantara berbagai alternative disebut
dengan proses pengambilan keputusan. Fungsi manajerial ini merupakan jalinan
antara perencanaan dan pengendalian. Manajer harus memilih diantara beberapa
tujuan dan metode untuk melaksanakan tujuan yang dipilih. Hanya satu dari
beberapa rencana yang dapat dipilih. Komentar serupa dapat dibuat berkenaan
dengan fungsi pengendalian.

IV.Bagian
SIM merupakan kumpulan dari sistem informasi:

• Sistem informasi akuntansi (accounting information systems), menyediakan


informasi dan transaksi keuangan.
• Sistem informasi pemasaran (marketing information systems), menyediakan
informasi untuk penjualan, promosi penjualan, kegiatan-kegiatan pemasaran,
kegiatan-kegiatan penelitian pasar dan lain sebagainya yang berhubungan dengan
pemasaran.
• Sistem informasi manajemen persediaan (inventory management information
systems).
• Sistem informasi personalia (personal information systems).
• Sistem informasi distribusi (distribution information systems).
• Sistem informasi pembelian (purchasing information systems).
• Sistem informasi kekayaan (treasury information systems).
• Sistem informasi analisis kredit (credit analysis information systems).
• Sistem informasi penelitian dan pengembangan (research and development
information systems).
• Sistem informasi analisis software
• Sistem informasi teknik (engineering information systems).

Anda mungkin juga menyukai