Sunday, 30 October 2016

MENGULAS SOFTWARE ENGINEER

Software Engineer



Pengertian Software Engineer

Seorang software engineer adalah orang yang menerapkan prinsip-prinsip rekayasa perangkat lunak dalam mendesain, pengembangan, pengujian, dan evaluasi perangkat lunak dan sistem yang membuat komputer atau apapun yang berisi perangkat lunak. Sebelum pertengahan tahun 1990-an, sebagian besar praktisi perangkat lunak menyebut dirinya programmer atau software developer, tanpa memandang pekerjaan yang sebenarnya. Banyak orang lebih suka menyebut dirinya pemrogrammer dan software developer, karena dapat diterima secara luas, sementara istilah software engineer masih dalam perdebatan.
Profesi software engineer sebenarnya ada kemiripannya dengan profesi programmer, system analyst ataupun SQA engineer. Yang membedakannya adalah software engineer memerlukan keahlian lebih mendalam dalam hal SDLC (Software Development Life Cycle) yaitu seluruh proses yang harus dijalani dalam pengembangan software. Pada level tertentu, seorang software engineer juga harus menguasai manajeman proyek software development. Salah satu standar SDLC yang umum digunakan dalam software engineering adalah SWEBOK (Software Engineering Body of Knowledge).
Kompleksitas dalam software develompment dari tahun-ketahun semakin kompleks dan jauh lebih kompleks dibandingkan pada saat awal komputer diciptakan. Untuk itulah para ahli dalam bidang software engineering menyusun berbagai metodologi untuk mengoptimalkan software development process agar dapat menghasilkan produk software yang sesuai dengan tuntutan perkembangan zaman. Keahlian unik seorang software engineer adalah kemampuannya untuk merekomendasikan dan menerapkan metodologi software development terbaik dalam sebuah proyek. Metode-metode software development populer seperti RUP, Agile, Scrum, XP, TDD, BDD memiliki keunggulan dan kelemahan dan tentunya diperlukan keahlian dan pengalaman dalam merekomendasikan dan mengimplementasikan metode yang paling cocok dalam sebuah proyek software development.
Bila programmer dan system analyst ada yang dipekerjakan di perusahaan-perusahaan yang core business-nya bukan software, software engineer umumnya dipekerjakan di perusahaan-perusahaan software development. Bila sebuah perusahaan memerlukan karyawan dengan posisi software engineer, maka kemungkinan besar perusahaan tersebut memerlukan karyawan yang dapat ditempatkan secara fleksibel. Misalnya di sebuah proyek, karyawan A dapat diposisikan sebagai programmer dalam tahap construction, sedangkan dalam proyek lainnya si A dapat diposisikan sebagai system analyst dalam tahap requirement dan design. Dapat pula si A diposisikan sebagai software tester, SQA engineer ataupun di posisi mana saja dalam SDLC.
Kemampuan untuk menguasai seluruh disiplin dalam SDLC tidak membuat software engineer selalu lebih unggul daripada programmer, system analyst atau SQA engineer. Pada tingkatan yang sama, misalnya pengalaman kerja 5 tahun, seorang sistem analyst tentunya lebih ahli dalam menangkap requirement dan bisnis proses serta membuat proposal. Seorang programmer tentunya lebih menguasai secara mendalam bahasa pemprograman dan IDE (Integrated Development Environment) tools serta trik-trik tertentu dalam bahasa pemprograman. Seorang SQA engineer lebih menguasai software testing dan quality assurance. Diluar hal itu, semuanya bergantung pada pribadi masing-masing dalam mengembangkan keahliannya di profesi apapun.
Istilah programmer sering digunakan sebagai istilah yg merujuk kepada mereka yang tidak memiliki tools, keterampilan, pendidikan, atau etika untuk membangun perangkat lunak yang berkualitas baik. Akibatnya, banyak praktisi menyebut diri sendiri sebagai software engineer untuk melepaskan diri dari stigma yang melekat pada kata programmer. Di banyak perusahaan, untuk berbagai kategori programmer, nama jabatan programmer atau software developer telah diubah menjadi software engineer. Istilah tersebut menimbulkan kebingungan, karena ada beberapa penolakan, dengan argumentasi bahwa semua orang pada dasarnya melakukan hal yang sama dengan perangkat lunak, sedangkan yang lain menggunakan istilah untuk membuat sebuah perbedaan, dengan argumentasi bahwa pekerjaan tersebut benar-benar berbeda.
Pekerjaan Kebanyakan software engineer bekerja sebagai karyawan atau kontraktor. Software engineer bekerja untuk perusahaan, instansi pemerintah (sipil atau militer), dan organisasi nirlaba. Beberapa software engineer bekerja untuk sendiri sebagai freelancer. Beberapa organisasi telah memiliki spesialis untuk melakukan tugas tertentu dalam proses pengembangan software, dan organisasi membutuhkan software engineer untuk melakukan sebagian atau seluruhnya. Dalam proyek-proyek besar, orang dapat mengkhususkan diri dalam satu bidang. Dalam proyek-proyek kecil, beberapa tugas dapat dilakukan seorang diri. Specializations meliputi: industri (analis, arsitek, pengembang, testers, dukungan teknis, manajer) dan akademisi (pendidik, peneliti). Terdapat perdebatan atas masa depan prospek untuk pekerjaan Software Engineers dan Professional IT. Sebagai contoh, pasar online masa depan yang disebut pekerjaan IT masa depan di Amerika mencoba menjawab untuk apakah padaa pada tahun 2012 akan ada lebih banyak proyek TI, termasuk software engineer, dibandingkan pada tahun 2002.
Software engineer meneliti, merancang, dan men-develop sistem software untuk memenuhi keperluan client. Setelah sistem sudah secara penuh dirancang software engineer lalu diuji, debug, dan memelihara sistem.
Mereka perlu memiliki pengetahuan berbagai macam bahasa pemrograman komputer dan aplikasi, ini karena luasnya bidang kerja yang dapat terlibat didalamnya.
Software engineer kadangkali merupakan computer programmer atau software developer. Bergantung pada tipe organisasi, software engineer dapat menjadi spesialis dalam sistem atau aplikasi. Software engineering merupakan salah satu profesi IT yang paling popular.

  Aktivitas Kerja Software Engineer

Aktivitas yang dilakukan oleh software engineer meliputi:
a)    Researching, perancangan, dan pembuatan software baru
b)   Menguji program baru dan mencari kesalahan
c)    Men-develop program yang sudah ada dengan menganalisa dan mengenali area untuk modifikasi
d)   Memasang produk software yang sudah ada dan mengambil incompatible platform untuk bekerja bersama
e)    Memeriksa teknologi baru
f)    Membuat spesifikasi teknis dan perencanaan pengujian
g)    Bekerja dengan bahasa coding komputer
h)   Membuat dokumentasi operasional dengan technical author
i)     Memelihara sistem dengan memonitoring dan memperbaiki kerusakan software
j)    Bekerja secara dekat dengan staff lain, seperti manajer proyek, graphic artists, system analyst, dan sales dan marketing professional
k)    Berkonsultasi dengan client/kolega berkaitan dengan pemeliharaan dan performance dari sistem software dan bertanya untuk memperoleh informasi, menjelaskan detail dan mengimplementasikan informasi
l)     Secara konstan meng-update pengetahuan teknis dan kemampuan dengan menghadiri in-house dan/atau kursus eksternal, membaca manual dan mengakses aplikasi baru
m)  Problem solving dan berpikir secara menyamping sebagai bagian dari tim, atau secara individual, untuk memenuhi kebutuhan dari proyek

Kemampuan Software Engineer

Orang-orang yang ingin berprofesi di bidang ini harus memiliki kemampuan sebagai berikut:
a)    Pengetahuan tentang berbagai macam aplikasi
b)   Menguasai hal-hal yang dikuasai programmer, system analyst dan SQA engineer (dalam porsi yang lebih sedikit)
c)    Menguasai SDLC berdasarkan SWEBOK (requirement, design, implementation/construction, testing, maintenance)
d)   Menguasai metodologi software development seperti RUP, Agile, XP, Scrum dll
e)    Antusiasme dan pengetahuan dari project lifecycle
f)    Kemampuan analytical and problem-solving
g)    Memperhatikan detail
h)   Pikiran yang logis
i)     Numeracy
j)    Pengetahuan tentang sektor yang akan Anda kerjakan
k)    Kemampuan interpersonal dan komunikasi yang baik
l)     Kemampuan untuk berkomunikasi secara efektif dengan client, kolega, dan manajemen senior
m)  Kemampuan untuk belajar skill dan teknologi terbaru dengan cepat
n)    Motivasi karir dan kemauan untuk melanjutkan lebih jauh pengetahuan dan kemampuan
o)    Awareness pada isu terkini yang mempengaruhi industri dan teknologi




REFERENSI:
http://cintainformatika.blogspot.co.id/2012/01/software-engineer.html 
https://muhammadghazali.wordpress.com/tag/deskripsi-pekerjaan-software-engineer/
https://choirulyogya.wordpress.com/profesi-ti/4-software-engineer/

Sunday, 2 October 2016

PERKEMBANGAN SISTEM INFORMASI, HARDWARE, SOFTWARE, DAN PROFESI SISTEM INFORMASI

Perkembangan Sistem Informasi


       Manusia mulai mempertukarkan informasi sejak dahulu kala, sekitar 3000 tahun sebelum masehi atau jik dihitung sudah lebih dari 5000 tahun yang lalu. Cara mempertukarkan informasi itu adalah dengan menuliskannya pada batu, kayu, papirus atau tanah liat. Awal sejarah perkembangan sistem informasi dimulai dari sini. Tanpa langkah yang dilakukan oleh manusia kuno ini, tidak akan ada perangkat teknologi canggih seperti komputer dan telepon seluler. Ada empat tahapan yang dilalui dalam perkembangan komunikasi dan informasi,diantaranya dapat kami jabarkan dibawah ini.

Periode pertama: (Pra Mekanik)
Pada periode ini, komunikasi menggunakan simbol untuk menyampaikan informasi. Pada tahun 3000-2000 sebelum masehi, manusia menggunakan gambar juga untuk menyampaikan pesan. Contohnya adalah bangsa Fenisia yang mendiami Timur Tengah (saat ini Lebanon) menciptakan model yang sama. Bangsa Yunani Kuno mengadaptasi simbol milik bangsa Fenisia dengan menambahkan huruf vokal yang membuatnya mudah digunakan. Bangsa Romawi Kuno kemudian memakainya juga, yang mana saat ini menjadi alfabet yang kita kenal dan gunakan saat ini. Pembuatan buku dari papirus yang dilekatkan dimulai pada tahun 600 sebelum masehi. Pada awalnya hanya pemuka agama dan pemimpin yang memiliki koleksi buku. Setelah itu ada bangsa Mesir Kuno yang menciptakan sistem angka, sehingga juga mengarahkan pada penemuan alat bantu hitung yang disebut abakus.

Periode kedua: (Mekanik)
Masa ini termasuk dalam masa abad pertengahan. Dimana orang sudah menggunakan peralatan untuk menyimpan, mengolah dan merekam informasi. Salah satu penemuan terpenting dalam masa ini adalah mesin cetak Gutenburg dari Jerman. Penyampaian informasi menjadi lebih mudah dikarenakan mesin cetak dapat memproduksi tulisan yang sama dalam jumlah besar. Pada tahun 1600, komputer atau mesin hitung pertama kali diciptakan oleh Blaise Pascal. Komputer ini disebut sebagai Pascaline dan dianggap sebagai titik awal mesin menggantikan otak manusia dalam menghitung data.

Periode ketiga: (Elektromekanik)
Pada masa ini, penggunaan listrik untuk memberikan energi untuk menjalankan penemuan mesin sesudah Pascaline terus ditemukan. Pada periode ini pula diciptakan telepon dan kode Morse untuk digunakan dalam komunikasi jarak jauh secara langsung. Kemudian diperkenalkan komputer pertama yang digunakan untuk menyimpan program dan data pada awal 1948. Komputer tersebut adalah Dubbed Manchester Mark 1. Komputer ini adalah awal penemuan teknologi selanjutnya yang sekarang menjadi komputer, laptop, tablet dan smartphone.

Periode keempat: (Elektronik)
Jean Hoerni mengembangkan transistor planar pada tahun 1957. Alat ini dapat mengintegrasikan semua sirkuit yang diciptakan tahun-tahun selanjutnya. Pada tahun 1960, Departemen Pertahanan Amerika Serikat mendirikan ARPANET (Advanced Research Project Agency NETwork) yang mana ini adalah cikal bakal dari Internet yang anda gunakan sekarang ini. Pada saat itu ARPANET hanya digunakan untuk pemerintah, penelitian dan universitas. Peneliti dari MIT yang bernama Licklider memperluas ARPANET ke jaringan komputer di seluruh dunia untuk interaksi sosial. Ini terjadi pada tahun 1962. Pada tahun 1968, Andrew Grove, Gordon Moore dan Robert Noyce telah menciptakan mikrochip pertama kalinya. Mereka lalu menjual rancangan tersebut kepada intel untuk diproduksi secara massal.
Setelah keempat era ini, perkembangan teknologi berlangsung secara cepat. Ditemukannya sistem operasi UNIX, komputer dari Apple, sistem operasi Windows, Linux, era dot com dan masih penemuan terbaru lainnya.

TAHUKAH KALIAN SEJARAH PERKEMBANGAN KOMPUTER?




Perkembangan Hardware



        Komputer dari sejak awal dibuatnya, hingga kini banyak mengalami perubahan dan penyempurnaan bentuk dan fungsinya. Pada tahun 1930, lahirlah suatu konsep dari komputer-komputer seba guna yang menjadi awal dari komputer modern saat ini. Ditambah lagi dengan perkembangan masyarakat yang makin kompleks dan dengan kemajuan teknologi yang telah mendorong orang-orang berbakat untuk berpikir secara pesat. Pada tahun 1937, Alan Turin seorang ahli matematika bangsa Inggris membuat sebuah analisis teoritis dari kemungkinan pengembangan komputer yang serba guna. Pelaksanaan gagasan tersebut dapat segera terwujud, karena pada Perang Dunia II pihak militer sangat membutuhkan perhitungan-perhitungan yang cepat, matang, dan akurat untuk kebutuhan perang, sehingga dari gagasan tersebut perkembangan perangkat keras (hardware) mengalami perubahan bentuk dan fungsinya, dan perangkat lunak (software) mengalami perkembangan penggunaannya menjadi program yang mudah digunakan.
          Kemajuan teknologi yang dibuat manusia telah mengubah bentuk dan fungsi komputer tersebut dalam beberapa generasi, yaitu :

1. Generasi Pertama (1946-1959)


          Komputer generasi pertama dibuat masih sangat sederhana dan belum kompleks penggunaannya, sehingga komputer generasi pertama belum dapat memproses masalah-masalah yang besar. Komputer dalam prosesnya serta pembuatnya masih menggunakan komponen yang besar-besar.


Adapun ciri-ciri komputer generasi pertama, antara lain :
a. Ukuran fisiknya besar.
b. Kecepatan proses lambat.
c. Cepat panas.
d. Membutuhkan listrik yang besar.
e. Menggunakan tabung hampa udara (Vaccum tube).
f. Memorinya menggunakan Magnetic Core Storage.
g. Masih menggunakan bahasa mesin (Machine Language).
h. Menggunakan konsep Stored Program.

Contoh komputer generasi pertama :
a)       MARK I, MARK II, IBM 702, IBM 704, IBM 709 (dibuat oleh   IBM/International Business Machine).
b)      UNIVAC II (dibuat oleh Sperry Rand).
c)       ENIAC (Electronic Numerical Integrator and Calculator), dibuat oleh DR. John W. Mauchly pada tahun 1942. Komputer ini berukuran besar dan berat fisiknya mencapai 30 ton.
d)      SEC (Simple Electronic Computer), dibuat oleh Electronic Computation Laboratory of Birkbeck College pada tahun 1951.
e)       Datamatic 1000 (dibuat oleh Honeywell).
f)       NCR 102A, NCR 102D (dibuat oleh National Cash Register).

2. Generasi Kedua (1959-1965)


          Pembuatan komputer generasi kedua ini merupakan pengembangan dari komputer generasi pertama yang dibuat untuk menyempurnakan bentuk dari komponen dan penggunaan listrik yang lebih hemat.

Komputer generasi kedua mempunyaI ciri-ciri sebagai berikut :
a. Komponen telah menggunakan transistor.
b. Ukuran fisiknya lebih kecil.
c. Kecepatan prosesnya lebih cepat.
d. Tidak cepat panas.
e. Membutuhkan listrik lebih sedikit.
f. Memori yang digunakan lebih besar.
g. Telah menggunakan bahasa tingkat tinggi (high level language).
h. Sudah dapat digunakan untuk real time (informasi yang dibutuhkan dapat dihasilkan dengan sekejap) dan time sharing (komputer digunakan bersama-sama dan komputer dapat membagi waktu untuk tiap-tiap pemakai).

Contoh komputer generasi kedua :
a)       IBM 7070, IBM 7080, IBM 1400, IBM 1600 (dibuat oleh IBM/International Business Machine).
b)      Honeywell 400, Honeywell 800 (dibuat oleh Honeywell).
c)       Burroughs 200 (dibuat oleh Burroughs).
d)      GE 635, GE 645, GE 200 (dibuat oleh General Electric).
e)       UNIVAC III, UNIVAC SS80, UNIVAC SS90, UNIVAC 1107 (dibuat oleh Sperry Rand).
f)       NCR 300 (dibuat oleh National Cash Register).

3. Generasi Ketiga (1965-1970)


          Komputer generasi ketiga dibuat dengan menggabungkan beberapa komponen dalam satu tempat dan disempurnakan tampilan dari komputer tersebut. Selain itu, komputer generasi ketiga telah dibuat penyimpanan memorinya lebih besar dan diletakkan di luar (eksternal) penggunaan listriknya lebih hemat dibandingkan komputer generasi kedua dan ukuran fisiknya dibuat menjadi lebih kecil, agar dapat menghemat penggunaan ruang.


Komputer generasi ketiga mempunyai ciri-ciri sebagai berikut :
a. Komponen telah menggunakan IC (Integrated Circuit) atau yang disebut "chip" dalam bentuk Hybrid Integrated Circuits atau Solid Logic Technology (SLT), yaitu transistor dan dioda diletakkan secara terpisah dalam satu tempat.
b. Kecepatan prosesnya lebih cepat.
c. Membutuhkan listrik lebih hemat.
d. Memorinya yang digunakan lebih besar, dapat menyimpan sampai ratusan ribu karakter.
e. Telah menggunakan penyimpanan luar yang bersifat random access, yaitu magnetik disk yang berkapasitas besar.
f. Dapat digunakan untuk multi processing dan multi programming.
g. Telah dibuatnya alat input-output dengan menggunakan visual display terminal yang dapat menampilkan grafik, dapat menerima dan mengeluarkan suara, dan telah digunakannya alat pembaca tinta magnetik MICR (Magnetic Ink Character Reader).

Contoh komputer generasi ketiga :
a)       GE 600, GE 235 (dibuat oleh General Electric).
b)      Burroughs 5700, Burroughs 6700, Burroughs 7700 (dibuat oleh Burroughs).
c)       UNIVAC 1108, UNIVAC 9000 (dibuat oleh Sperry Rand).

4. Generasi Keempat (1970-1995)


          Komputer generasi keempat merupakan pengembangan dari komputer generasi ketiga. Komputer ini dibuat dengan menggabungkan beberapa IC yang dipadatkan, yang dalam komputer generasi ketiga belum dapat digabungkan.


Komputer generasi keempat mempunyai ciri-ciri sebagai berikut :
a. Telah menggunakan LSI (Large Scale Integration), yaitu penggabungan beribu-ribu IC yang dipadatkan dalam 1 buah chip.
b. LSI dikembangkan menjadi VLSI (Very Large Scale Integration) yang dapat memuat 150.000 transistor yang dipadatkan.
c. Chip yang digunakan telah berbentuk segi empat yang membuat rangkaian-rangkaian terpadu.

Contoh komputer generasi keempat :
- IBM 370 (dibuat oleh IBM/International Business Machine).
- APPLE II (dibuat oleh Apple).

Untuk komputer generasi yang akan datang, banyak menggunakan sensor-sensor untuk mempermudah dan mempercepat pekerjaan kita, dan komputer yang akan datang dibuat untuk mempermudah interaksi antara manusia dengan komputer secara langsung yang seakan-akan manusia tersebut berada dalam komputer. Ini dapat terwujud dengan adanya materi kecerdasan buatan (Artificial Intelligent), yaitu suatu peralatan yang dibuat untuk dapat bekerja seperti manusia, sehingga manusia bukan lagi sebagai obyek diluar komputer, melainkan manusia akan dilibatkan langsung sebagai objek di dalam komputer. Hal ini dapat anda lihat dengan dibuatnya sebuah alat untuk simulasi komputer, dimana manusia dengan menggunakan helm khusus agar tampak seperti di dalam komputer. Selain itu, kini telah dibuat robot-robot pengganti tenaga manusia. Pada robot tersebut dibuatkan sensor-sensor pendeteksi rangsangan dari luar dan akan langsung meresponnya seperti layaknya manusia.

Perkembangan Software


Dibagi dalam beberapa era yaitu Era Pioneer, Stabil, Mikro, dan Modern. Berikut adalah Sejarah Perkembangan Software Komputer :

1. Era Pioneer.
Pada Era Pioneer ini bentuk software komputer pada awalnya adalah sambungan-sambungan kabel ke antar bagian dalam komputer, Cara dalam mengakses komputer adalah menggunakan punched card yaitu kartu yang di lubangi. Penggunaan komputer saat itu masih dilakukan secara langsung, sebuah program digunakan untuk sebuah mesin tertentu dan untuk tujuan tertentu.

2. Era Stabil.
Pada Era Stabil ini baris-baris perintah software komputer yang dijalankan oleh komputer bukan lagi satu-satu, tapi sudah banyak proses yang di lakukan secara bersamaan (multi tasking). Software Komputer pada era ini juga mampu menyelesaikan banyak pengguna (multi user) dan secara cepat/langsung (real time). Di era ini jugalah mulai di kenal sistem basis data, yang memisahkan antara program dan data .

3. Era Mikro.
Pada Era Mikro ini software komputer dapat dibedakan menjadi beberapa bagian yaitu Software Sistem (Windows, Linux, Machintos, dll), Software Aplikasi (Ms.Office,OpenOffice, dll) dan Languange Software/Bahasa Pemograman (Assembler, Visual Basic, Delphi, dll)

4. Era Modern.
Pada Era Modern ini software komputer tidak hanya untuk sebuah komputertetapi sebuah handphone pun telah di lengkapi dengan sebuah software sistem seperti Android, Symbian, dll. Tingkat kecerdasan yang ditunjukkan oleh software komputer pun semakin meningkat, selain permasalahan teknis, software komputer sekarang juga mulai bisa mengenal suara dan gambar.
Jika kita amati sekarang ini gerakan Open Source sudah mulai merambah di Indonesia yang identik dengan Sistem Operasi Linux. Open Source yang akrab terdengar di telinga orang-orang TI dapat dikatakan sebagai source code yang terbuka bagi siapa saja yang ingin mempelajari maupun ikut mengembangkan. Source Code ini disertakan dengan distribusi paket software yang sudah jadi (hasil kompilasi) sehingga pembeli ataupun pengguna software dapat membedah software tersebut sesuai dengan keperluanya. Bahkan dapat ikut memperbaiki Bug atau kesalahan logika dalam software tersebut.
Salah satu Open Source yang sangat terkenal yaitu sistem operasi linux, setiap distribusinya vendor selalu menyertai source kode linux.Satu hal yang perlu ditekankan bahwa software open source tidak selalu gratis tetapi ada biaya yang dikeluarkan untuk membeli software tersebut.Sebagai contoh Sistem Operasi RedHat Linux yang dapat dibeli dengan harga yang murah. Lalu apa bedanya Sistem Operasi Open Source dengan Sistem Operasi Close Source seperti yang dipunyai pak Bill Gates?
Pada software yang Close Source, paket software tidak dapat didistribusikan lagi selain oleh pembuat/vendor software tersebut.Sedangkan software yang Open Source dapat didistribusikan secara bebas oleh siapapun. Tujuan Open Source ini sebenarnya ingin menghilangkan ketergantungan vendor software, dimana vendor dapat bertindak seenaknya bisa saja vendor menyisipkan kode-kode yang dapat membahayakan software aplikasi lain termasuk juga menaikkan harga lisensi.
Dalam banyak kasus, bila terjadi Bug dalam software yang Close Source pengguna sangat tergantung kepada vendor yang harus menunggu update untuk memperbaikinya. Seringkali vendor kurang cepat merespons perkembangan terkini dan permintaan pengguna.
Bagaimana dengan Open Source?Ya, Open Source adalah salah satu solusi yang menjanjikan saat ini bagi suatu perusahaan.Perusahaan dapat membelinya dengan biaya yang jauh lebih murah dan perbaikan maupun keperluan software tersebut dapat dilakukan oleh staf TI perusahaan itu sendiri. Sehingga apa yang terjadi? Dengan software yang open source dapat mendorong semangat tenaga-tenaga TI untuk mempelajari source code tersebut, dapat menganalisa dimana kelemahan software, apa sesungguhnya proses yang berlangsung dalam kerja software, dan sekaligus mencari solusi terhadap kelemahan software yang ditemui. Atau yang lebih ekstrim adalah memodifikasi software sedemikian rupa agar lebih ergonomis pas digunakan sesuai dengan keperluan.
Apa hubungannya dengan perkembangan software di Indonesia? Kita lihat India, ekspor software dan ekspor tenaga TI sangat mendominasi negara ini.Saat ini India telah menduduki urutan kedua setelah US dalam ekspor software.Perusahaan-perusahaan software di India tumbuh dengan subur karena produk/software lokal mereka mendapat tempat di pasar dalam negeri. Secara otomatis jika software lokal diterima oleh pasar dalam negeri maka pemerintah dapat mengurangi penggunaan devisa negara dan mengurangi tingkat ketergantungan impor teknologi atau software dan tenaga ahli, meningkatkan kapasitas tenaga TI dalam negeri, dan membuka kesempatan kepada industri pengembang software lokal. Sehingga dengan adanya peningkatan kapasitas tenaga TI dan kualitas produksi software maka negara ini mampu melempar keluar hasil produksi dan tenaga TI-nya ke pasar luar negeri.Mungkinkah hal ini terjadi di Indonesia?
Open Source secara tidak langsung mendorongan tenaga TI tidak hanya menjadi End User yang hanya mampu memanfaatkan hasil kerja orang lain. Dengan demikian jika tenaga TI negeri kita hanya berlaku sebagai End User maka bidang TI negara kita akan tertinggal dengan negara-negara lain. Maka dengan adanya Open Source dapat dipelajari source code software dan dapat menganalisa teknik yang digunakan dalam pembuatan software tersebut yang nantinya pengetahuan tersebut dapat dimanfaatkan untuk merancang aplikasi yang berguna.

Perkembangan Software saat ini      
Komputer membutuhkan data atau fakta, dimana data ini pada saat diinput akan diterjemahkan menjadi bilangan biner. Saat ini, tingkat pemrosesan yang dikerjakan perangkat lunak bersifat machine-like (keinginan mesin) mulai berubah dengan sifat human-like (keinginan manusia).
Kemampuan komputer dirasakan sangat berkaitan dengan perangkat keras dan perangkat lunaknya, maka dari itu diperlukan perangkat lunak yang benar-benar mendukung perangkat kerasnya.Bentuk paling sederhana dari perangkat lunak, menggunakan aljabar Boolean, yang di representasikan sebagai binary digit (bit), yaitu 1 (benar) atau 0 (salah), cara ini sudah pasti sangat menyulitkan, sehingga orang mulai mengelompokkan bit tersebut menjadi nible (4 bit), byte (8 bit), word (16 bit), double word (32 bit).
Kelompok-kelompok bit ini di susun ke dalam struktur instruksi seperti penyimpanan, transfer, operasi aritmatika, operasi logika, dan bentuk bit ini di ubah menjadi kode-kode yang di kenal sebagai assembler. Kode-kode mesin sendiri masih cukup menyulitkan karena tuntutan untuk dapat menghapal kode tersebut dan format (aturan) penulisannya yang cukup membingungkan, dari masalah ini kemudian lahir bahasa pemrograman tingkat tinggi yang seperti bahasa manusia (bahasa Inggris). Saat ini pembuatan perangkat lunak sudah menjadi suatu proses produksi yang sangat kompleks, dengan urutan proses yang panjang dengan melibatkan puluhan bahkan ratusan orang dalam pembuatannya.

 Klasifikasi Software
Perangkat lunak secara umum dapat di bagi 2 yaitu perangkat lunak sistem dan perangkat lunak aplikasi. Perangkat lunak sistem dapat di bagi lagi menjadi 3 macam yaitu :
1. Bahasa pemrograman
Merupakan perangkat lunak yang bertugas mengkonversikan arsitektur dan algoritma yang di rancang manusia ke dalam format yang dapat di jalankan komputer, contoh bahasa pemrograman di antaranya : BASIC, COBOL, Pascal, C++, FORTRAN

2. Sistem Operasi
Saat komputer pertama kali di hidupkan, sistem operasilah yang pertama kali di jalankan, sistem operasi yang mengatur seluruh proses, menterjemahkan masukan, mengatur proses internal, memanejemen penggunaan memori dan memberikan keluaran ke peralatan yang bersesuaian, contoh sistem operasi : DOS, Unix, Windows 95, IMB OS/2, Apple’s System 7

3. Utility
Sistem operasi merupakan perangkat lunak sistem dengan fungsi tertentu, misalnya pemeriksaan perangkat keras (hardware troubleshooting), memeriksa disket yang rusak (bukan rusak fisik), mengatur ulang isi harddisk (partisi, defrag), contoh Utilty adalah Norton Utility
Perangkat lunak aplikasi merupakan bagian perangkat lunak yang sangat banyak di jumpai dan terus berkembang. Sebelum tahun 1990-an aplikasi yang di kenal yaitu pemroses kata (Word Star, Chi Write), pemroses tabel (Lotus 123, Quatro Pro), database (DBASE), dan hiburan (game). Pada perkembangan pemroses kata, tabel dan database saat ini telah di bundel menjadi aplikasi office dengan tambahan aplikasi untuk pembuatan presentasi yang nanti akan di berikan pada pelatihan ini. Contoh aplikasi office adalah Microsoft Office yang terdiri dari Word(pemroses kata), Excel (pemroses tabel), Access (database), dan PowerPoint (presentasi). Yang berkembang sangat banyak saat ini adalah aplikasi multimedia dan internet. Contoh aplikasi multimedia adalah Winamp untuk memutar musik berformat MP3 atau CD Audio, kemudian RealPlayer yang dapat digunakan untuk menonton film atau VCD. Aplikasi internet yang umum di gunakan adalah untuk browsing, e-mail, chatting dan messenger.
Aplikasi yang bersifat khusus di antaranya untuk membantu pekerjaan Engineer seperti AutoCAD (gambar struktur), Protel (gambar rangkaian elektronik), dan Matlab (pemproses dan visualisasi persamaan matematis).

PROFESI SISTEM INFORMASI


Ø  Programmer adalah orang yang menulis kode/koder baik yang menguasai satu atau beberapa bidang program dan melakukan pekerjaannya dalam mengembangkan suatu website atau aplikasi internet berbasis web.

Ø  Enterpreneur in IT Business adalah profesi sebagai wirausahawan yang bergerak di bidang bisnis teknik informasi/informatika.

Ø  System Analis adalah seseorang yang bertanggung jawab atas penelitian, perencanaan, pengkoordinasian, dan merekomendasikan pemilihan perangkat lunak dan sistem yang paling sesuai dengan kebutuhan organisasi bisnis atau perusahaan.

Ø  Auditor Sistem Informasi adalah roses pengumpulan dan penilaian bukti – bukti untuk menentukan apakah sistem komputer dapat mengamankan aset, memelihara integritas data, dapat mendorong pencapaian tujuan organisasi secara efektif dan menggunakan sumberdaya secara efisien.

Ø  Web Developer adalah seseorang yang menciptakan aplikasi berbasis web dengan menggunakan bahasa pemrograman

Ø  IS Project Manager adalah profesi yang bertanggung jawab untuk memberikan laporan mengenai rencana dan program ada kepada user, manajer tingkat atas dan kepada siapa saja yang memerlukan.

Ø  Web Designer adalah seseorang yang bekerja dengan unsur-unsur visual pada suatu halaman web. Dia adalah orang yang membuat wajah halaman web tampak begitu “cantik”.

Ø  Webmaster merupakan gabungan dari keduanya, bahkan webmaster juga bertugas untuk memelihara aplikasi web yang digunakan. Sebagai catatan tambahan, webmaster mungkin juga bertanggung jawab untuk optimisasi mesin pencari ( SEO ), mengisi content pada website, hingga ‘memasarkan’ website tersebut.

Ø  Business Process Analyst adalah profesi yang bertanggung jawab dalam memahami kebutuhan bisnis dari organisasi dan menterjemahkannya dalam spesifikasi solusi.

Ø  Database Administrator  adalah profesi yang bertanggung jawab dalam pengelolaan database yang dimiliki oleh organisasi, mulai dari pada saat proses implementasi database, monitoring kinerja database sampai dengan proses backup dan recovery apabila system mengalami gangguan.

Ø  Database Analyst adalah  profesi yang bertanggung jawab dalam melakukan perancangan database. Profesi ini berfungsi untuk menjamin bahwa rancangan database yang dibuat sudah memenuhi dan sesuai dengan kebutuhan organisasi. Selain itu, mereka juga bertanggung jawab dalam memberikan solusi-solusi terkait dengan pemilihan produk database yang sesuai dengan organisasi, termasuk bagaimana melakukan optimasi dalam pencarian informasi.

Ø  E-Business Analyst adalah profesi yang bertanggung jawab dalam menganalisa dan merancang proses bisnis organisasi secara elektronis dalam rangka peningkatan kualitas layanan dan peningkatan efisiensi.

Ø  ERP Specialist adalah profesi yang bertanggung jawab dalam penyesuaian paket software ERP terhadap proses bisnis organisasi.

Ø  IS/IT Auditor adalah profesi yang bertanggung jawab dalam melakukan audit terhadap proses teknologi informasi dan sistem informasi organisasi.

Ø  IT Architect adalah profesi yang bertanggung jawab dalam merancang arsitektur teknologi informasi organisasi.

Ø  IT Asset Officer adalah profesi yang bertanggung jawab dalam pengelolaan aset teknologi informasi.

Ø  IT Consultant adalah profesi yang bertanggung jawab dalam memberikan konsultasi kepada organisasi terkait solusi-solusi TI.

Ø  T Operation Officer adalah pProfesi ini bertanggung jawab dalam memastikan operasi-operasi teknologi informasi berjalan tanpa adanya hambatan. Profesi ini bertanggung jawab dalam mengelola keamanan dan resiko teknologi informasi.

Ø  Network Administrator adalah profesi ini bertanggung jawab dalam pengelolaan jaringan teknologi informasi organisasi, termasuk LAN dan WAN. Network administrator yang bertugas untuk memastikan bahwa jaringan berjalan dengan baik, melakukan pengamanan jaringan, melakukan trouble shooting bila ada kerusakan, dan melakukan monitoring terhadap kinerja dari jaringan dalam memenuhi Service Level Agreement yang sudah ditetapkan.

Ø  Project Leader adalah  profesi yang bertanggung jawab dalam memimpin pengelolaan proyek teknologi informasi.


Ø  Web Content Specialist adalah profesi yang bertanggung jawab dalam mengembangkan dan mengelola isi dari sebuah web.




DAFTAR PUSTAKA