4ka10 npm 10109204
1.Analisa terhadap jenis pekerjaan apa saja yang ada di Sektor Pemerintahan, untuk lulusan Program Studi Sistem Informasi
1. Programmer/Developer
1.1.Hardware Programmer
Perbedaan istilah “application” dengan “software”. Singkatnya, dalam dunia IT, yang disebut application sudah pasti adalah sebuah software, sedangkan software belum tentu sebuah application. Software yang bukan termasuk aplikasi contohnya adalah operating system, device driver, protocol dll. Sedangkan yang dikenal sebagai aplikasi adalah software seperti office suite, image editor, games, sistem informasi retail/swalayan, sistem informasi pendidikan, sistem informasi hotel/retaurant, sistem informasi manajeman gudang, sistem informasi logistik, ERP (Enterprise Resource Planning), SCM (Suply Chain Managemant), CRM (Customer Relationship Managemant) , sistem bank, sistem airline dan masih banyak lainnya.
Dalam pekerjaannya, application programmer menggunakan high level language seperti Java, C#, Visual Basic (VB), VB.Net, Delphi, PHP dll. Dengan menggunakan high level language, proses pengembangan akan lebih mudah dan lebih cepat. Hal ini sesuai dengan tuntutan kebutuhan customer yang terus berkembang dengan cepat.
Web Application (aplikasi yang user interface-nya berwujud HTML dan diakses dengan web browser, biasa dikembangkan dengan framework PHP, ASP.Net, Java, Spring, Ruby on Rails dll )
Database Application (aplikasi yang memerlukan akses ke database menggunakan teknologi seperti ADO.Net, OLEDB, ODBC, JDBC, ORM, Hibernate dll)
Distributed Application (aplikasi terdistribusi/server service seperti Web Service, J2EE, WCF, COM+ dll)
Programmer/Developer:
Tugas:
Mengimplementasikan requiremant dan desain proses bisnis ke komputer dengan menggunakan algoritma /logika dan bahasa pemprograman
Melakukan testing terhadap software bila diperlukan
Keahlian yang Diperlukan:
Memahami metode, best practice dan tool/pemodelan pemprograman seperti OOP, design pattern, UML (kemampuan membaca dan menerapkan)
Menguasai salah satu atau beberapa bahasa pemprograman populer seperti C++, VB, PHP, C#, Java, Ruby dll (untuk web developer perlu juga menguasai HTML, DHTML, CSS, JavaScript dan AJAX)
Memahami RDBMS dan SQL (Structured Query Language)
Menguasai bahasa Inggris (hal ini sangat penting saat ini karena bahasa en-US merupakan bahasa ibu di dunia IT)
2. System Analyst
Untuk menjembatani celah ini, maka diperlukan seorang “System Analyst”. Seorang system analyst di satu sisi diharuskan memiliki keahlian dalam menganalisis proses bisnis (problem domain) untuk dapat menghasilkan sebuah SRS (software Requiremant Spesification) dan di sisi lain menguasai aspek technical dan implementasinya dalam software aplikasi (solution domain) untuk dapat menghasilkan DDD (Detailed Design Document). Seorang system analyst biasanya berangkat dari seorang programmer yang sudah mahir dan berpengalaman dalam software development. Kemampuannya dalam menangkap requirement dan proses bisnis, ketajaman analisis mengenai celah-celah dalam sistem serta kemampuan merekomendasikan solusi terbaik secara technical sangat diperlukan dalam mengembangkan software yang berkualitas dan dapat bermanfaat untuk meningkatkan kinerja proses bisnis suatu organisasi.
System analyst bekerja pada tahap requirement dan design, walaupun kadangkala juga diperlukan untuk menyeberang dari tahap requirement dan design ke tahap construction/implementaion (coding/programming). Tentunya ini wajar karena biasanya seorang system analyst dahulunya juga seorang programmer. Tetapi seorang yang benar-benar diposisikan sebagai system analyst, tugas utamanya adalah membuat requirement dan desain software.
Catatan:
Untuk mengetahui lebih detail mengenai tahap pengembangan software (SDLC) akan saya jelaskan di artikel lainnya.
Kita sering mendengar istilah Programmer Analyst atau Analyst Programmer. Kedua profesi ini terdengar mirip, hanya saja dominasi pekerjaannya yang lebih ditekankan untuk diletakkan di depan istilah tersebut. Programmer Analyst adalah seorang programmer yang kadang kala bekerja sebagai system analyst tetapi dengan porsi yang lebih sedikit daripada sebagai programmer. Begitu pula sebaliknya untuk Analyst Programmer. Saya tidak bisa memastikan apakah penggunaan istilah itu benar secara bahasa tetapi profesi/posisi semacam itu memang ada di dunia kerja dan dicantumkan dalam iklan lowongan pekerjaan.
System Analyst:
Tugas:
Membangun/mengembangkan software terutama pada tahap requirement, design dan sebagian dalam tahap construction/implementation
Membuat dokumen requiremant dan desain software berdasarkan proses bisnis customer/client
Membuat proposal dan mempresentasikannya di hadapan stake holder / customer / client
Membuat desain database bila aplikasi yang akan di bangun memerlukan database
Membangun/mengembangkan framework/library untuk digunakan dalam pengembangan software oleh programmer
Keahlian yang Diperlukan:
Menguasai metode, best practice pemprograman dan tool/pemodelan pemprograman seperti OOP, design pattern, UML (kemampuan membangun/mendesain)
Menguasai SQL, ERD dan RDBMS secara lebih mendalam
Memahami tentang arsitektur aplikasi dan teknologi terkini
3. Software Quality Assurance Engineer
Dalam perusahaan software development yang cukup mapan dan telah menangani banyak proyek besar, SQA engineer sangat diperlukan terutama untuk menghasilkan software yang berkualitas. Tugas SQA engineer diantaranya adalah melakukan “quality assurance” (QA) dan “quality check” (QC) terhadap software. Pengembangan software harus sesuai dengan prosedur standar yang telah ditetapkan (QA) dan harus melalui proses testing (QC) yang sesuai. Di sinilah tugas SQA engineer untuk memonitor proses software development dan memperbaiki standar yang ada (improve) bila masi memiliki kelemahan.
Dalam software development, terdapat beberapa resiko yang ditanggung oleh para stake holders. Seperti terjadinya bug/defect, waktu pengembangan yang semakin panjang, resource yang semakin bertambah ataupun kendala-kendala lain yang tidak diperkirakan sebelumnya. Tugas SQA engineer yang persifat preventif adalah dengan meminimalisir resiko-resiko ini.
Untuk menilai kemapanan sebuah perusahaan, terutama yang bergerak dalam bidang software development, terdapat beberapa standar seperti CMMI Capability Maturity Model Integration. Singkatnya, makin tinggi level CMMI sebuah perusahaan, resiko project yang ditanganinya akan semakin kecil. Dengan begitu perusahaan dengan level CMMI yang tinggi dianggap sudah mapan dan dipercaya untuk mengerjakan proyek-proyek besar. Salah satu tugas SQA engineer adalah mengusahakan agar perusahaannya lulus sertifikasi CMMI di level tertentu.
Software Quality Assurance Engineer:
Tugas:
2. Merancang dan membuat test case / skenario software testing
3. Melakukan testing sesuai dengan test case / scenario
4. Merumuskan dan merancang peningkatkan efisiensi dan efektifitas standar proses yang digunakan
Menguasai hal-hal yang berhubungan dengan software testing (test plan, test case, testing automation, functionality testing, regression testing dll)
Memahami tentang perinsip kerja software sesuai dengan platformnya masing-masing
Memahami tentang SDLC dan metodologi software development seperti RUP, Agile, XP, Scrum dll
Memahami standarisasi seperti CMMI
Menguasai penulisan dokumen dan komunikasi verbal dengan baik (dalam bahasa Inggris dan Indonesia)
Latar Belakang:
Ilmu Komputer, Teknik Informatika, Manajemen Informatika
4. Software Engineer
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.
Tugas:
Melakukan tugas-tugas programmer, system analyst dan sebagian tugas SQA engineer
Merekomendasikan dan menerapkan metodologi terbaik dalam sebuah proyek software development
Keahlian yang Diperlukan:
Menguasai hal-hal yang dikuasai programmer, system analyst dan SQA engineer (dalam porsi yang lebih sedikit)
Menguasai SDLC berdasarkan SWEBOK (requirement, design, implementation/construction, testing, maintenance)
Menguasai metodologi software development seperti RUP, Agile, XP, Scrum dll
5. Database Administrator (DBA)
Salah satu tugas sehari-hari seorang DBA adalah memaintain database baik produksi, backup maupun development dalam perusahaan yang membutuhkan aplikasi database berskala besar untuk operasionalnya sehari-hari. Karena itu selain hal-hal yang berhubungan dengan software, seorang DBA juga perlu memahami beberapa hal tentang hardware seperti teknologi server, storage devices dll agar dapat merekomendasikan database yang optimal. Pengetahuan tentang server clustering, storage array network (SAN), RAID, backup devices dan optimalisasinya merupakan keahlian unik seorang DBA.
Dengan semakin berkembangnya berbagai teknologi ORM (object relational mapping), maka di kemudian hari pekerjaan programmer dan DBA akan semakin dapat dipisahkan. Bila di masa lalu banyak programmer yang merangkap sebagai DBA, di masa depan bisa jadi programmer semakin jarang menggunakan SQL karena semuanya sudah ditangani oleh komponen ORM. Di sinilah perbedaan bidang keahlian seorang DBA menjadi lebih terlihat dibandingkan dengan seorang programmer.
Dahulu untuk mencari orang yang memiliki keahlian dalam bidang jaringan, server dan database, Hasilnya orang seperti itu tidak pernah ditemukan, karena itu sama saja menggabungkan kemampuan System Administrator dengan Database Administrator. Seorang System Administrator berlatar belakang computer system & networking Seorang DBA sebenarnya berlatar belakang software development. Dua hal tersebut bagaikan jalan bercabang yang harus dipilih oleh seorang profesional IT di awal karirnya.
Database Administrator:
Tugas:
Merancang dan membangun database dalam sebuah system
Merekomendasikan solusi terbaik dalam implementasi database baik dalam hal software maupun hardware
Memaintain database agar dapat berjalan dengan baik dan optimal
Keahlian yang Diperlukan:
Menguasai ERD, SQL dan desain database secara mendalam
Menguasai berbagai teknik optimalisasi/tuning, backup dan maintain database
Menguasai secara mendalam salah satu atau lebih RDBMS beserta tools yang ada.
Memahami tentang salah satu platform/bahasa pemprograman untuk mengakses database
Menguasai teknologi server, storage, operating system yang berkaitan dengan implementasi database
6. Software Architect
Bila system analyst harus memiliki pengetahuan yang berimbang antara proses bisnis (problem domain) dan software technology (solution domain), seorang architect dituntut untuk menguasai software technology secara lebih mendalam. Kemampuannya dalam hal technical sangat diperlukan dalam proyek-proyek software development berskala besar dan kompleks, dimana keputusan dalam pemilihan teknologi yang paling tepat dan penguasaanya sangat menentukan kesuksesan proyek. Keahlian utama seorang software architect adalah dalam bidang software design dan software development technology.
Software Architect:
Merekomendasikan teknologi yang paling cocok untuk mengembangkan produk software
Membuat standar-standar software development yang akan digunakan oleh tim programmer / developer
Membuat rancangan/desain software dan proses pengembangannya secara keseluruhan
Keahlian yang Diperlukan:
Menguasai hal-hal yang dikuasai programmer, system analyst dan software engineer
Menguasai secara mendalam tentang software development technology
Menguasai penulisan dokumen dengan baik (dalam bahasa Inggris dan Indonesia)
Latar Belakang:
Teknik Informatika, Ilmu Komputer, Manajemen Informatika
7. Software Implementer
Seorang software implementer/support bertugas men-support produk software yang akan diimplementasikan di sisi client/customer baik instalasi setting konfigurasi, modifikasi dan pelatihan untuk user-usernya. Umumnya software support tidak berurusan dengan masalah hardware/jaringan melainkan lebih ke produk software yang di support. seorang software implementer/support dibutuhkan dalam implementasi software yang cukup besar dan kompleks seperti software perbankan, asuransi, airline dll
Software Implementer / Support
Melakukan instalasi/implementasi serta setting produk software di sisi client/customer
Memelihara dan memastikan software yang sudah diimplementasikan berjalan dengan baik
Melakuakan troubleshooting terhadap produk software
Memberikan pelatihan (training) kepada para pengguna software
Keahlian yang Diperlukan:
Menguasai secara mendalam produk software yang akan diimplementasikan
Menguasai teknologi platform / sistem poperasi/ middleware (bila ada) yang dibutuhkan oleh produk software yang disupport
Memahami insalasi, setting & troubleshooting produk software yang diimplementasikan
8. Technical Consultant
Berbeda dengan software architect yang lebih banyak bekerja secara internal dalam perusahaan, technical consultant lebih banyak bekerja untuk memberikan konsultasi kepada client/customer dan lebih banyak berhadapan dengan banyak orang. Untuk itu dibutuhkan interpersonal dan writing skill yang memadai.
Apabila anda sering mendengar istilah ERP (Enterprise Resource Planning) consultant, profesi tersebut termasuk dalam technical consultant. seorang ERP consultant tentunya harus menguasai proses bisnis enterprise dan bagaimana mengimplementasikannya dalam produk software yang dikuasai / direkomndasikannya. Pada tulisan mengenai “Profesi di dunia IT Bagian 1″, IT specialist mirip dengan technical consultant dalam hal rekomendasi dan implementasi IT. Perbedaannya adalah, technical consultant lebih menguasai proses bisnis dan software sedangkan IT specialist lebih meguasai hardware dan jaringan serta software secara garis besar.
Bila bekerja pada perusahaan yang menjual produk software, technical consultant biasanya lebih banyak bekerja pada tahap pre-sales. Pada tahap implementasi, technical consultant bekerja sama dengan software implementer. Setelah software terimplementasi (after sales), software implementer / support akan lebih banyak berperan dalam operasionalnya. Technical consultant akan diperlukan lagi bila ada perubahan proses bisnis, modifikasi atau penambahan modul yang cukup kompleks dalam software tersebut
Technical Consultant:
Memberikan konsultansi/rekomendasi mengenai solusi IT terbaik untuk memecahkan masalah
Membuat dokumen seperti proposal, requirement dan desain software secara umum
Melakukan pelatihan (training) kepada para pengguna software
Keahlian yang Diperlukan:
Berpengalaman dan menguasai berbagai macam proses bisnis enterprise atau jenis bisnis terentu
Menguasai teknologi IT secara luas
Menguasai secara mendalam tentang solusi software yang direkomendasikan
Menguasai penulisan dokumen dan komunikasi verbal dengan baik (dalam bahasa Inggris dan Indonesia)
Latar Belakang:
Manajemen Informatika, Teknik Informatika, Ilmu Komputer, Teknik Komputer, Teknik Elektro (Pemusatan Studi Komputer)
9. User Interface Designer
Profesi yang terakhir ini memang agak sedikit berbeda dengan profesi-profesi sebelumnya karena orang-orang sukses di bidang ini umumnya memiliki bakat seni sekaligus kemampuan technical. Seorang user interface designer harus dapat membuat desain web yang manis, serasi, user friendly tetapi tetap efisien karena Internet memiliki bandwidth yang terbatas. Karena profesional di bidang ini lebih sering dipekerjakan dalam web development, maka profesi ini lebih sering disebut sebagai web designer.
Selain menguasai programming terutama web programming, seorang web designer juga harus menguasai tools dalam image design dan animasi seperti produk-produk Adobe/Macromedia, Corel dll. Dalam web development, user interface designer bekerja bahu-membahu dengan web programmer/developer untuk menghasilkan aplikasi web yang baik dalam hal tampilan dan fungsionalitas. Tampilan yang baik, menarik dan user friendly akan membuat aplikasi web tersebut dinilai lebih bermutu.
Kadang kala user interface designer juga disertakan dalam proyek-proyek non web, misalnya untuk membuat design icon, splash screen, logo dll. Contohnya, dewasa ini di platform Microsoft.Net dikenal adanya teknologi WPF (Windows Presentation Foundation). Dengan menggunakan teknologi ini, desain tampilan aplikasi desktop dapat dipisahkan dengan coding-nya. Seorang user interface designer dapat bekerja pada desain tampilan menggunakan XAML, sedangkan programmer/developer mengerjakan coding-nya di code-behind menggunakan C# atau VB.Net. Karena itulah profesi ini menurut saya lebih tepat dinamakan user interface designer.
2.Studi Kasus Pelanggaran Etika Profesi Bidang Sistem Informasi, dan Penerapan Etika Profesi Dibidang Sistem Informasi !
Dalam era kini, informasi dipandang sebagai aset atau sumber yang setara dengan sumber-sumber lain dan juga mempunyai kekhususan persoalan dan pengelolaannya, sehingga diperlukan suatu manajemen khusus yaitu sistem manajemen informasi dengan pengelolanya yang khusus yaitu manajer informasi atau Chief Information Officer (CIO). Sebagai manajer jelas harus mengetahui etika manajemen. Aspek keuangan merupakan suatu aspek yang yang sangat sensitif, demikian juga dengan aspek informasi. Dengan demikian hak dan tanggung jawab manajer mengisyaratkan bahwa syarat manajer harus “beretika (bermoral) tinggi dan kuat”.
Sebagai seorang yang profesional, kita mempunyai tanggung jawab untuk mempromosikan etika penggunaan teknologi informasi di tempat kerja. Kita mempunyai tanggung jawab manajerial. Kita harus menerima tanggung jawab secara etis seiring dengan aktivitas pekerjaan. Hal itu termasuk melaksanakan peran kita dengan baik sebagai suatu sumber daya manusia yang penting di dalam sistem bisnis dalam organisasi. Sebagai seorang manajer atau pebisnis profesional, akan jadi tanggung jawab kita untuk membuat keputusan-keputusan tentang aktivitas bisnis dan penggunaan teknologi informasi, yang mungkin mempunyai suatu dimensi etis yang harus dipertimbangkan.
Merupakan hal yang penting untuk mengetahui bahwa hal yang tidak etis belum tentu ilegal. Jadi, dalam kebanyakan situasi, seseorang atau organisasi yang dihadapkan pada keputusan etika tidak mempertimbangkan apakah melanggar hukum atau tidak.
Banyaknya aplikasi dan peningkatan penggunaan Teknologi Informasi telah menimbulkan berbagai isu etika, yang dapat dikategorikan dalam empat jenis:
1. Isu privasi: rahasia pribadi yang sering disalahgunakan orang lain dengan memonitor e-mail, memeriksa komputer orang lain, memonitor perilaku kerja (kamera tersembunyi). Pengumpulan, penyimpanan, dan penyebaran informasi mengenai berbagai individu/pelanggan dan menjualnya kepada pihak lain untuk tujuan komersial. Privasi informasi adalah hak untuk menentukan kapan, dan sejauh mana informasi mengenai diri sendiri dapat dikomunikasikan kepada pihak lain. Hak ini berlaku untuk individu, kelompok, dan institusi.
2. Isu akurasi: autentikasi, kebenaran, dan akurasi informasi yang dikumpulkan serta diproses. Siapa yang bertanggung jawab atas berbagai kesalahan dalam informasi dan kompensasi apa yang seharusnya diberikan kepada pihak yang dirugikan?
3. Isu properti: kepemilikan dan nilai informasi (hak cipta intelektual). Hak cipta intelektual yang paling umum berkaitan dengan TI adalah perangkat lunak. Penggandaan/pembajakan perangkat lunak adalah pelanggaran hak cipta dan merupakan masalah besar bagi para vendor, termasuk juga karya intelektual lainnya seperti musik dan film.
4. Isu aksesibilitas: hak untuk mengakses infomasi dan pembayaran biaya untuk mengaksesnya. Hal ini juga menyangkut masalah keamanan sistem dan informasi.
Salah satu alasan sulitnya menegakkan etika di dunia TI adalah karena relatif barunya bidang ini. Tak seperti dunia kedokteran yang usianya sudah ratusan abad, bidang TI adalah profesi baru. Walaupun ada juga yang melanggar, dalam dunia kedokteran, etika profesi sangat dijunjung tinggi. Ini jauh berbeda dengan dunia TI, di mana orang sangat mudah melanggar etika. Orang masih meraba-raba batasan antara inovasi, kreatifitas, dan pelanggaran etika. Apalagi dunia ini hampir sepenuhnya digeluti oleh anak-anak muda yang kerap mengabaikan persoalan moralitas yang abu-abu.
Free Template Blogger collection template Hot Deals BERITA_wongANteng SEO theproperty-developer