Download - Jadwal Trans BSD
Your tickets and itinerary receipt will be forwarded to you as soon as payment is made.
Reservation Details
Booking Reference NSQVUB ATM Payment Code 1880016290061
Date Of Booking10 November, 2011
Please Pay By10 November, 2011, 12:16 PM
Passenger Details
Name Lion Passport No.
1. MISS SABRINA EDITHA PUTRI NA
Itinerary Details
Flight Departing Arriving Details
JT 240B737-400
Jakarta (CGK)16:40 Fri, 23 Dec
Bandar Lampung (TKG)17:25 Fri, 23 Dec
0 Stops0h 45m
All Timings Are Local Time
Payment Details
Name -
Form of Payment ATM
Base Fare IDR 170,000
Total Taxes IDR 32,000
Total Fare IDR 202,000
ATM Payment (Indonesia)
Please pay for your ticket within 3 hours to avoid auto cancellation and bring your Payment Code to any nearest ATM.Total amount payable at an Indonesian ATM - IDR 202,000We accept ATM payment from the following banks:
1. Lippo Bank2. BNI3. Bank Niaga4. ATM Mandiri5. BII6. Permata Bank7. BRI8. Bank Bukopin9. Panin Bank10. Bank BCA
Or pay with your internet Banking at LippoNetBank, Internet Banking Mandiri or BNI Internet Banking.
JADWAL TRANS BSDCITY FEEDER BUSWAY
(diupdate 26 Mei 2008) 1. RUTE: BSD CITY - RATU PLAZA2. RUTE: BSD CITY - MANGGA DUA3. RUTE BSD CITY - PASAR BARU
JALUR: BSD CITY – PD INDAH MAL – RATU PLAZA – PLAZA SENAYAN
JADWALHARI KERJA HARI SABTU
HARI MINGGU
BSD CITY
RATU PLAZA
BSD CITY
RATU PLAZA
BSD CITY
RATU PLAZA
PAGI
05.3005.5006.1006.3006.5007.1007.3008.0008.30
06.3006.5007.1007.4008.0008.2008.4009.1009.30
07.0007.3008.0008.3009.15
----
08.1008.4009.1009.4010.15
----
08.4509.3010.15
------
09.4510.3011.15
------
SIANG
09.1510.1511.1512.1513.1514.1514.5515.2515.45
10.1511.1512.1513.1514.1515.1515.5516.2516.45
10.1511.1512.1513.1514.15
----
11.1512.1513.1514.1515.15
----
11.1512.1513.15
------
12.1513.1514.15
------
SORE 16.15 17.15 15.25 16.25 14.55 15.55
16.3516.5517.1517.3517.5518.2518.50
17.3517.5518.1518.3518.5519.2519.50
15.5516.2516.5517.25
---
16.5517.2517.5518.25
---
15.5516.55
-----
16.5517.55
-----
Rute:Halte Besar BSD (Kolam Renang) – Halte Al-Azhar – SGU – Tol BSD Pd.Indah – Pd Indah Mal – Jl.Arteri Pd Indah – Jl. Pakubuwono – Jl.Sisingamangaraja – Jl.Jend. Sudirman (Ratu Plaza) – Pintu Gelora I – Jl.Asia Afrika – Plaza Senayan – Jl.Hang Tuah – Taman Puring – Jl.Gandaria – Jl.Arteri Pd Indah – Jl.Raya Metro Pd Indah – Tol Pd Indah BSD - BSDLoket Tiket:Halte Kolam Renang BSD, Halte Al-Azhar, Halte Pd Indah, Halte Depdiknas, Halte Plaza SenayanHarga Tiket:Harga Tiket Reguler : Rp.13.000,-Harga Tiket Pulang Pergi: -No. Telp:Tasbun : 0819-3257 3661 ; Usen: 0812-8831-6563; Toyo: 0815-7405 5684 JALUR: BSD CITY – KOTA - MANGGA DUA
JADWAL
HARI KERJA HARI SABTUHARI
MINGGUBSD CITY
MANGGA DUA
BSD CITY
MANGGA DUA
BSD CITY
MANGGA DUA
PAGI 05.40
06.10
07.1007.4008.5009.40
06.40
07.10
08.1008.4009.4011.00
08.30
09.30
10.0011.0012.00
-
07.20
08.10
08.10
09.30
10.30-
SIANG
09.30
10.30
11.30
12.30
14.00
11.0012.0013.0014.0015.30
10.30
11.30
12.30
13.30-
12.0013.0014.0015.00
-
11.30
12.30
13.30--
13.0014.0015.00
--
SORE
14.50
15.40
16.20
17.10
16.2017.1017.5018.40
14.00
15.00
16.00
16.55
15.3016.3017.3018.25
14.30
15.30
16.30-
16.0017.0018.00
-
Rute:Halte Besar BSD (Kolam Renang) – Halte Al-Azhar – ITC BSD – Jl.Raya Serpong – Tol Jakarta Merak – Tol Pluit Tomang – Tol Pelabuhan (keluar pintu Tol Ancol Barat) – Jl.Lodan – Jl.RE.Martadinata – Jl.Kp.Bandan – Jl.Kunir – Jl.Kemukus – Jl.Lada (berhenti di Halte BNI) – Jl.Jembatan Batu – Jl.Mangga Dua (Halte Bank Shinta) – Gerbang Tol Ancol BaratLoket Tiket:Halte Kolam Renang BSD, Halte Al-Azhar, Halte Pemasaran BSD, Halte BNI (Kota), Halte Bank Shinta (Mangga Dua)Harga Tiket:
Harga Tiket Reguler : Rp.13.000,-No. Telp:Usen: 0812-8831-6563; Fandhi: 0852 1458 6238; Zaki: 0817-653 0868
JALUR: BSD CITY – HARMONI - PASAR BARU
JADWALHARI KERJA HARI SABTU
HARI MINGGU
BSD CITY
PASAR BARU
BSD CITY
PASAR BARU
BSD CITY
PASAR BARU
PAGI
05.3005.5006.1507.0508.00
06.4007.0007.3008.3009.30
06.3007.2008.2009.00
-
07.4008.3009.3010.15
-
08.0009.0010.00
--
09.1010.1011.10
--
SIANG
09.0010.0011.0012.0013.00
10.3011.3012.3013.3014.30
10.0011.0012.0013.00
-
11.1512.1513.1514.15
-
11.0012.0013.00
--
12.1013.1014.10
--
SORE
14.3015.3016.2017.00
15.4517.0017.5018.30
14.3015.2016.1017.00
15.4516.3517.2518.15
14.0015.0016.00
--
15.1016.1017.10
-Rute:Halte Besar BSD (Kolam Renang) – Halte Al-Azhar – Halte Pemasaran BSD – Jl.Raya Serpong – Tol Tangerang Kebon Jeruk – Jl.Tomang Raya – Jl.Kyai Caringin – Jl.Balikpapan – Jl.Suryo Pranoto – Halte Busway Harmoni Duta Merlin – Jl.Juanda – Halte Pasar Baru (Gedung Kesenian Jkt) – Jl.Veteran – Halte
Harmoni Lampu Merah Suryo Pranoto – Jl.Tomang Raya – Tol Jakarta Tangerang - BSDLoket Tiket:Halte Kolam Renang BSD, Halte Al-Azhar, Halte Pemasaran BSD, Halte Harmoni Duta Merlin, Halte Pasar Baru Gd Kesenian Jkt , Halte Harmoni Lampu Merah, Halte Lampu Merah Suryo PranotoHarga Tiket:Harga Tiket Reguler : Rp.13.000,-No. Telp:Usen: 0812-8831-6563; Fandhi: 0852 1458 6238; Zaki: 0817-653 0868
SDM dalam Proyek Perangkat Lunakby lioairlangga | posted: August 16, 20110 comment
Hi all,
Seperti halnya permainan catur, tiap bidak mempunyai perannya
masing2. Dalam tim proyek perangkat lunak, stiap orang tidak
hanya mempunyai peran, tapi jg posisi dalam struktur organisasi.
Pembagian peran dan struktur organisasi ini jg mempunyai aturan
atau rules yang tidak boleh dilanggar untuk memperkecil resiko
dalam pembuatan perangkat lunak (dibahas di bawah). Unt
menggambarkan struktur organisasi dalam tim perangkat lunak,
bisa menggunakan organization chart . Di bawah ini contoh
organization chart :
structure organization chart
Project Manager
Seorang project manager mempunyai tanggung jawab dan tugas
yang bermacam-macam, tidak hanya terfokus pada hal-hal yg
teknis sifatnya. Bagaimana layaknya seorang project manager
harus mempunyai kemampuan membuat tim tetap solid, mampu
memonitor dan mengontrol budget serta mempunyai kemampuan
analisis resiko yang baik.
Tanggung Jawab seorang Project Manager terdiri dari:
1. Proyek
2. Organisasi
3. Tim Kerja
Setiap tanggung jawab mempunyai fokus dan peran yang sedikit
berbeda. Salah satu yang paling nyata adalah, tanggung jawab
terhadap proyek, Seorang Project Manager harus mengontrol
proyek yang ditanganinya. Proyek harus selesai sesuai dengan
budget, sesuai dengan spesifikasi, dan waktu. Ketiga aspek itu
harus dipenuhi oleh seorang Project Manager.
Seorang Project Manager juga mempunyai tanggung jawab
terhadap organisasi. Proyek yang ditangani harus
mempunyai returnyang nyata terhadap organisasi. Taat kepada
setiap kebijakan yang di keluarkan organisasi, harus mengambil
keputusan dengan wewenang yang terbatas dari organisasi, dan
juga kadang-kadang seorang Project Manager juga harus
mengambil keputusan yang bukan yang terbaik bagi poyek tetapi
terbaik buat Organisasi.
Seorang Project Manager juga harus mempunyai tanggung jawab
tehadap tim kerja yang di pimpinnya. Memang tidak mudah
tanggung jawab yang harus di penuhi terhadap tim kerja.
Seorang Project Manager harus memberikan feedback dari hasil
pekerjaan proyek jika diperlukan, memberikan perhargaan
terhadap anggota tim proyek yang mempunyai prestasi yang baik,
dan tantangan yang paling sulit adalah menyeimbangkan antara
kepentingan anggota tim, kepentingan tim, dan kepentingan
proyek.
Untuk melaksanakan tanggung jawab yang telah dijabarkan
diatas, seorang project manager perlu memiliki skill yang
bermacam-macam. Gary Heerken ( 2002) mengkategorikan skill
& pengetahuan yang diperlukan seorang Project Manager
menjadi 4 (empat) kategori :
1.Project Management process skill
Skill Proses manajemen proyek, bisa di sebut hard skill
merupakan pengetahuan dan keahlian yang berhubungan
dengan mekanisme dari manajemen proyek.
Seorang Project Manager harus bisa menguasai teknik, tools
manajemen proyek dan teknologi yang bisa diaplikasikan di
proyek. Contohnya seorang project manager harus bisa membuat
work breakdown structure, membuat network diagram, dan bisa
mempersiapakan dokumen-dokumen yang diperlukan klien.
2.Interpersonal & behavioral skill
Memimpin proyek berarti mengatur dan menyelesaikan segala
sesuatu melalui orang lain. Seorang Project manager harus
mempunyai Interpersonal & Behavioral skill yang baik, bisanya
disebut soft skill. Behavioral skill meliputi gaya (style), Kelakuan
pesonal (personnal conduct), dan pendekatan (approach).
3.Technology management skill
Banyak proyek yang melekat pada yang namanya teknologi.
Teknologi menuju kepada proses dari proyek. Sebagai contoh,
proses itu mencakup pengembangan software, proses kimia, atau
konstruksi komersial. Kemampuan untuk mengkoordinasi proses
teknologi ini sangat penting jika ingin menjadi seorang project
manager. Beberapa skill manajemen teknologi yang perlu
dikuasai oleh seorang Project Manager yaitu :
1. kemampuan dalam teknologi proyek
2. Kemampuan dalam mendukung teknologi area
3. Pengetahuan tentang industri
4. Kemampuan dalam mempersiapkan spesifikasi teknis secara
kompreshensif
5. kemampuan dalam disain
6. Pengetahuan produk
7. Pengetahuan tentang proses
8. Manajemen properti
9. Desire personal traits
Banyak studi yang meneliti korelasi antara ciri personal project
manager dengan kesuksesan project manager. Walaupun hasil
studi juga menunjukkan hasil yang berbeda, tetapi ada beberapa
ciri yang dominan antara lain :
1. Kejujuran dan integritas
2. Berpikir seperti seorang generalis
3. Toleransi terhadap sifat ambiguitas
4. Toleransi terhadap ketidakpastian
5. Keyakinan yang tinggi
6. Tegas
7. Orientasi pada proses
8. Percaya diri/reflektif
9. Terbuka dan mudah di akses
10. Cerdas
Seorang project manager adalah project manger yang
mempunyai kemampuan di lapangan, dan diatas kertas,
kemampuan dalam memimpin tim proyek. Seorang project
manager yang sukses juga harus menguasai proses manajemen
proyek, kemampuan dalam mengaplikasi teknologi, mempunyai
interpersonal dan behavioral skill.
System Analyst
Beberapa hal penting yang dilakukan oleh seorang sistem analyst
adalah sebagai berikut :
1. Bekerja dalam meneliti sebuah masalah
2. Merencanakan solusi terhadap masalah yang ada
3. Merekomendasikan software dan sistem yang dibutuhkan
4. Mengkoordinir pengembangan untuk memenuhi kebutuhan
bisnis atau kebutuhan lainnya.
Seorang system analyst akan terbiasa dengan berbagai bahasa
pemrograman, sistem operasi, dan platform hardware komputer.
Karena mereka sering menulis permintaan pengguna ke dalam
spesifikasi teknis.
System analyst adalah penghubung antara vendor dan
profesional teknologi informasi. Mereka juga bertanggung jawab
untuk mengembangkan analisi biaya, pertimbangan desain, dan
implementasi timeline yang telah ditetapkan.
Seorang system analyst memiliki beberapa kriteria yang harus
dijalankan, yaitu :
1. Merencanakan aliran sistem dari bawah ke atas.
2. Berinteraksi dengan pelanggan untuk belajar dan
mendokumentasikan kebutuhan yang nantinya akan
digunakan untuk membuat Bussiness Requirement
Document.
3. Menuliskan kebutuhan teknis dari fase kritis.
4. Berinteraksi dengan designer untuk memahami keterbatasan
perangkat lunak.
5. Membantu programmer selama pengembangan sistem,
seperti menyediakan use case, flowchart, atau bahkan design
database.
6. Melakukan pengujian sistem.
7. Mendeploy sistem yang teah selesai dibangun.
8. Mendokumentasikan kebutuhan atau berkontribusi dalam
pembuatan user manual.
9. Kapanpun proses pengembangan dilakukan, system analyst
bertanggung jawab untuk merancang komponen dan
memberikan informasi tersebut kepada developer.
Designer
Software designer adalah
seseorang yang bekerja untuk menciptakan sebuah perangkat
lunak pada level yang cukup tinggi yang sesuai dengan
kebutuhan pelanggan atau manajemen.
Seorang designer tidak melakukan proses coding sendiri, namun
bertugas untuk memastikan bahwa semua kebutuhan software
telah ada dan diperhitungkan dengan baik sebelum proses coding
yang sebenarnya dimulai. Mereka mengambil tujuan akhir dari
pelanggan dan merencanakan berbagai tahap pengembangan
dari konsep awal sampai dengan sistem selesai dibuat.
Mereka menggunakan IT dalam setiap aspek pekerjaan mereka.
Pemrograman dan perencanaan, keduanya dilakukan pada
komputer, dan sinkronisasi data yang diperlukan untuk rencana
dan komunikasi yang efektif membutuhkan penggunaan jaringan
media yang modern.
Software design tidak hanya terlihat pada perusahaan yang
memproduksi program dan perangkat lunak, tetapi juga pada
perusahaan yang membutuhkan solusi pada sebuah perangkat
lunak namun tidak ada perangkat lunak yang mampu
mengatasinya.
Desainer software memegang peranan penting dalam segala hal
yang berkaitan dengan software, programming, matematika,
logika, perencanaan, dan komunikasi. Mereka yang menemukan
diri mereka tertarik untuk bekerja dalam pembuatan program atau
game biasanya akan tertarik dalam mendesain perangkat lunak.
Biasanya software designer bekerja dengan erat dengan Quality
Assurance Specialist. Project Manager tim desain pengembangan
perangkat lunak, dan segala yang berhubungan dengan
mendesai perangkat lunak.
Programmer
Programmer adalah seseorang yang bertugas untuk
mengimplementasikan apa yang telah dirancang oleh designer.
Seorang programmer akan membuat code yang menghasilkan
aplikasi dengan spesifikasi code yang rapi, bersih, rapi, mudah
dipahami, dan bebas dari error.
Tetapi seorang programmer tidak bertugas untuk memastikan
produk yang mereka buat dapat digunakan dan
diimplementasikan dengan denagn modul lainnya. Programmer
adalah spesialis di bidang pembuatan, bukan hasil akhir ataupun
perencanaan.
Seorang programmer memiliki kemampuan matematis dan
kemampuan menulis bahasa pemrograman. Memiliki kemampuan
komunikasi dengan anggota tim merupakan nilai lebih yang
dimiliki oleh seorang programmer. Dia juga mengontrol kerja tim
dan juga life cycle dari software process.
Berikut ini adalah beberapa kode etik yang disadur berdasarkan
kode etik yang kini digunakan oleh perkumpulan programmer
internasional yang berlaku saat ini :
1. Seorang programmer tidak boleh membuat atau
mendistribusikan Malware.
2. Seorang programmer tidak boleh menulis kode yang sulit
diikuti dengan sengaja.
3. Seorang programmer tidak boleh menulis dokumentasi yang
dengan sengaja untuk membingungkan atau tidak akurat.
4. Seorang programmer tidak boleh menggunakan ulang kode
dengan hak cipta kecuali telah membeli atau telah meminta
izin.
5. Tidak boleh mencari keuntungan tambahan dari proyek yang
didanai oleh pihak kedua tanpa izin.
6. Etika profesi yang berlaku bagi programmer di indonesia.
Tidak boleh mencuri software khususnya development tools.
7. Tidak boleh menerima dana tambahan dari berbagai pihak
eksternal dalam suatu proyek secara bersamaan kecuali
mendapatkan izin.
8. Tidak boleh menulis kode yang dengan sengaja menjatuhkan
kode programmer lain untuk mengambil keuntungan dalam
menaikkan status.
9. Tidak boleh membeberkan data-data penting karyawan dalam
perusahaan.
10. Tidak boleh memberitahu masalah keuangan pada pekerja
dalam pengembangan suatu proyek.
11. Tidak pernah mengambil keuntungan dari pekerjaan orang
lain.
12. Tidak boleh mempermalukan profesinya.
13. Tidak boleh secara asal-asalan menyangkal adanya bug
dalam aplikasi.
14. Tidak boleh mengenalkan bug yang ada di dalam software
yang nantinya programmer akan mendapatkan keuntungan
dalam membetulkan bug.
15. Terus mengikuti perkembangan ilmu komputer.
Tester
Software Tester merupakan salah satu posisi yang menjadi
‘musuh’ para developer. Tugas utama dari seorang software
tester adalah melakukan pengecekan atau testing terhadap error
atau bug di dalam sebuah aplikasi atau program.
Dengan kata lain, keberhasilan seorang software tester adalah
kegagalan bagi developer, demikian juga sebaliknya. Namun,
pada dasarnya keberhasilan software tester ataupun
keberhasilan developer memiliki tujuan yang sama, yaitu untuk
membuat sebuah aplikasi atau software bebas
dari bug (meskipun sebenarnya tidak ada aplikasi yang bisa
benar-benar bebas dari bug).
Banyak orang yang berpikir bahwa tugas software tester adalah
tugas yang sangat mudah, namun pada kenyataannya tugas
software tester adalah tugas yang sulit dan memiliki
tanggungjawab yang besar terhadap keberhasilan sebuah produk
IT. Selain harus memiliki kesabaran dan ketelitian,
seorang software tester juga dituntut untuk proaktif dan memiliki
kreatifitas imajinasi yang tinggi.
Berkutat dengan dokumen-dokumen adalah hal yang biasa dan
lumrah, karena tanpa dokumen, software tester tidak dapat
membuat test scenario yang baik. Dokumen apa saja yang
dibutuhkan oleh software tester :
1. SRS (System Requirement Specification)
Merupakan dokumen yang menyediakan panduan mengenai
spesifikasi requirement sistem yang diinginkan
oleh client/usersecara lengkap terhadap suatu
bagian/keseluruhan aplikasi.
2. SAD (Software Architecture Document)
Merupakan dokumen yang menggambarkan desain
arsitektur (flow process) secara umum dari modul yang ada
dalam sebuah sistem. SAD memuat spesifikasi yang lebih rinci
dari dokumen SRS.
Dari semua dokumen inilah sofware tester kemudian akan
mengetahui seperti apa sistem yang akan di testing. Setelah
mengetahui proses bisnis dari sistemnya, maka software
tester harus membuat test case yang terdiri dari langkah-langkah
pengetesan terhadap sistem yang dibagi-bagi kedalam tiap
modul/unit sistem. Disinilah kreatifitas dan imajinasi
seorangsoftware tester diperlukan, yaitu ketika mereka harus
membuat skenario test dari sistem yang belum pernah mereka
sentuh sebelumnya. Atau lebih tepatnya. software tester harus
dapat mentransfer seluruh ‘isi kepala’ business
analyst atau system analyst mengenai sistem tersebut ke dalam
pikiran/otak mereka.
Dari beberapa peran di atas ada, beberapa tugas yang bisa
dirangkap oleh 1 orang. Cross Matrix di bawah menggambarkan
peran apa saja yg dapat dirangkap :
Project Manager
System Analyst
DesignerProgrammer
TesterSystem Implementer
Project Manager V V V V
System Analyst V V
Designer V
Programmer V
Tester V V
System Implementer
V V
Bidang Software Development dan Consulting
Pendahuluan
Pada bagian ini, saya akan melanjutkan tulisan sebelumnya yang
berjudul: “Profesi di Dunia IT Bagian 1” Bidang Computer
Hardware, Network dan System Engineering”. Pada bagian 2 ini,
saya akan membahas bidang software development dan
consulting.
Software development adalah bidang yang paling abstrak di dunia
IT. Output yang dihasilkan hanya dapat dirasakan oleh user
berupa informasi yang dapat mengoptimalkan berbagai macam
pekerjaan. Server atau hardware komputer sebesar apapun bila
tidak memiliki software didalamnya maka bagaikan seonggok
pajangan yang entah cocok atau tidak untuk di pajang..:)
Manfaat penggunaan software komputer memang beragam bagi
berbagai kalangan. Ada yang menganggapnya hanya sebagai
pelengkap gengsi sampai ada yang akan mengalami kerugian
besar bila software aplikasinya tidak berfungsi dengan baik.
Karena itu, penghargaan kepada orang-orang yang bekerja di
bidang ini bisa berbeda-beda di berbagai perusahaan.
Apapun jenis software yang dibangun, para pekerja di bidang ini
dituntut memiliki logika dan ingatan yang kuat. Kemampuan untuk
melihat suatu hal secara garis besar, menyeluruh dan juga secara
detail hingga sekeil-kecilnya. Selain itu yang paling penting untuk
sukses di bidang ini adalah ketekunan untuk belajar dan terus
mengembangkan kemampuannya, karena bidang ini secara tetap
akan terus berubah (constantly changing) dan berkembang
seiring dengan perubahan zaman.
Dalam waktu 5 tahun, keahlian di salah satu teknologi tertentu
dapat dianggap ketinggalan zaman (obsolete). Contohnya VB6
yang sangat populer di tahun 1998 support-nya sudah dihentikan
di tahun 2008. Berarti aplikasi yang ditulis menggunakan
teknologi ini tidak dijamin kompatibilitasnya dengan sistem
operasi yang di-release setelah tahun 2008. Mau tidak mau
sebagian besar programmer VB6 harus migrasi ke VB.Net dan
“patuh” dengan aturan-aturan .Net Framework.
Kembali ke pembahasan awal, berikut ini akan dibahas satu-
persatu profesi-profesi di bidang software development /
consulting.
1. Programmer/Developer
Profesi programmer/developer adalah profesi yang paling sering
terdengar, karena profesi ini sudah ada sejak diciptakannya
komputer itu sendiri. Profesional dalam bidang software
development dan consulting umumnya pernah meniti karir
sebagai seorang programmer. Keahlian dalam algoritma dan
penguasaan terhadap salah satu atau beberapa bahasa
memprograman mutlak diperlukan oleh seorang programmer.
Programer adalah profesi inti dan tulang punggung dalam
software development karena tidak akan terwujud sebuah
software aplikasi tanpa adanya programmer, sedangkan tanpa
didukung profesi lainnya, seorang programmer dapat membuat
sebuah aplikasi yang berguna walaupun dengan cakupan
terbatas.
Berdasarkan jenis programming dan output yang dihasilkan,
programmer sendiri ada beberapa macam yaitu:
1.1. Hardware Programmer
Hardware programmer sebenarnya adalah bagian dari hardware
engineer. Sesuai namanya, mereka melakukan programming
secara low level terhadap hardware, misalnya mikrokontroler,
embeded sistem, PLC atau device lainnya. Pada awal
diciptakannya komputer, programmer jenis ini lebih dominan
karena cara memprogram komputer waktu itu mirip dengan cara
memprogram mikrokontroller saat ini. Bahasa yang digunakan
dulunya adalah bahasa mesin tetapi saat ini cenderung
digunakan bahasa assembly dan C.
1.2. System Programmer
Dalam pekerjaannya, system programmer menggunakan low
level dan medium level language. Biasanya mereka dipekerjakan
dalam pengembangan sistem operasi dan modul-modul
pendukungnya. Para pengembangan driver untuk periferal dan
programming dalam SIM/UIM card juga digolongkan ke
programmer jenis ini. Perbedaan system programmer dengan
hardware programmer adalah: System programmer bekerja pada
tahap pengembangan suatu platform / sistem operasi atau yang
terkait erat dengannya untuk dijadikan sebagai landasan
(platform) bagi pengembangan selanjutnya, sedangkan hardware
programmer bekerja pada tahap implementasi suatu produk agar
sesuai dengan requirement end user. Programmer jenis ini biasa
menggunakan bahasa Assembly, C/C++ dan kemungkinan C#
dikemudian hari bila sistem operasi yang menggunakan managed
code (.Net) benar-benar diluncurkan.
1.3. Application Programmer
Bagi yang sering mendengar profesi “Application Developer”,
“Software Developer”, “Web Developer”, “Enterprise Developer”
atau “Developer” saja, profesi-profesi tersebut tergolong sebagai
Application programmer. Programmer jenis inilah yang paling
banyak dan populer di dunia kerja terutama di Indonesia. Hal ini
disebabkan karena aplikasi adalah jenis software yang paling
banyak di gunakan.
Mungkin anda pernah berpikir, apa 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.
Dalam hal cakupan keahlian yang dibutuhkan, secara kasar jenis
aplikasi dapat dibagi menjadi:
Desktop Application (aplikasi yang berwujud Windows Form,
WPF, XWindows atau jenis GUI lainnya yang berjalan di O/S
masing-masing)
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)
Walaupun digolongkan dalam ke empat macam keahlian
tersebut, seringkali seorang application programmer harus
memiliki keahlian di beberapa jenis aplikasi untuk dapat
menghasilkan aplikasi yang berguna. Contohnya: Web
programmer harus memiliki kemampuan dalam web application
dan database application untuk dapat mengembangkan aplikasi
web yang memerlukan database sebagai penyimpanan data.
Tidak sedikit pula programmer yang memiliki keahlian di seluruh
jenis aplikasi sehingga sering disebut disebut enterprise
application developer.
Programmer/Developer:
Tugas:
1. Membangun/mengembangkan software terutama pada tahap
construction dengan melakukan coding dengan bahasa
pemprograman yang ditentukan
2. Mengimplementasikan requiremant dan desain proses bisnis
ke komputer dengan menggunakan algoritma /logika dan
bahasa pemprograman
3. Melakukan testing terhadap software bila diperlukan
Keahlian yang Diperlukan:
1. Menguasai Algoritma dan logika pemprograman (ini penting
sekali)
2. Memahami metode, best practice dan tool/pemodelan
pemprograman seperti OOP, design pattern, UML
(kemampuan membaca dan menerapkan)
3. 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)
4. Memahami RDBMS dan SQL (Structured Query Language)
5. Menguasai bahasa Inggris (hal ini sangat penting saat ini
karena bahasa en-US merupakan bahasa ibu di dunia IT)
Latar Belakang:
Ilmu Komputer, Teknik Informatika, Manajemen Informatika,
Matematika pemusatan studi Komputasi
2. System Analyst
Seiring dengan berjalannya waktu dan perkembangan zaman,
kebutuhan aplikasi komputer semakin kompleks. Ada kalanya
proses bisnis dan permasalahan dalam suatu organisasi cukup
kompleks untuk dijabarkan secara langsung ke sebuah software
aplikasi. Biasanya para manajer/direksi perusahaan memahami
secara detail mengenai proses bisnis di perusahaannya, misalnya
dari sejak procurement, purchasing, manufacturing, warehousing,
marketing, accounting dll, tetapi mereka biasanya kurang
memahami mengenai bagaimana implementasinya secara teknis
dalam software aplikasi. Kemudian seorang programmer
biasanya terlalu berkutat dengan coding, algoritma dan hal-hal
yang technical sehingga kadang mengalami kesulitan dalam
memahami proses bisnis menyeluruh yang umumnya terjadi di
organisasi/perusahaan tertentu.
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:
1. Membangun/mengembangkan software terutama pada tahap
requirement, design dan sebagian dalam tahap
construction/implementation
2. Membuat dokumen requiremant dan desain software
berdasarkan proses bisnis customer/client
3. Membuat proposal dan mempresentasikannya di hadapan
stake holder / customer / client
4. Membuat desain database bila aplikasi yang akan di bangun
memerlukan database
5. Membangun/mengembangkan framework/library untuk
digunakan dalam pengembangan software oleh programmer
Keahlian yang Diperlukan:
1. Menguasai hal-hal yang dikuasai programmer
2. Menguasai metode, best practice pemprograman dan
tool/pemodelan pemprograman seperti OOP, design pattern,
UML (kemampuan membangun/mendesain)
3. Menguasai SQL,ERD dan RDBMS secara lebih mendalam
4. Memahami tentang arsitektur aplikasi dan teknologi terkini
Latar Belakang:
Ilmu Komputer, Teknik Informatika, Manajemen Informatika,
Matematika pemusatan studi Komputasi
3. Software Quality Assurance Engineer
Software Quality Assurance (SQA) engineer mungkin agak jarang
terdengar di dunia kerja. Hal ini mungkin karena di Indonesia
belum banyak lowongan kerja yang mencantumkan posisi ini. Bila
anda pernah mendengar posisi “Software Tester”, maka itu
termasuk dalam profesi ini. Salah satu tugas SQA engineer
memang melakukan testing terhadap software, tetapi bukan itu
saja sebenarnya pekerjaan profesi ini.
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:
1. Memonitor jalannya proyek software development apakah
sudah sesuai dengan standar dan prosedur yang ada
2. Merancang dan membuat test case / skenario software
testing
3. Melakukan testing sesuai dengan test case / skenario
4. Merumuskan dan merancang peningkatkan efisiensi dan
efektifitas standar proses yang digunakan
Keahlian yang Diperlukan:
1. Menguasai hal-hal yang berhubungan dengan software
testing (test plan, test case, testing automation, functionality
testing, regression testing dll)
2. Memahami tentang perinsip kerja software sesuai dengan
platformnya masing-masing
3. Memahami tentang SDLC dan metodologi software
development seperti RUP, Agile, XP, Scrum dll
4. Memahami standarisasi seperti CMMI
5. Menguasai penulisan dokumen dan komunikasi verbal
dengan baik (dalam bahasa Inggris dan Indonesia)
Latar Belakang:
Ilmu Komputer, Teknik Informatika, Manajemen Informatika
4. Software Engineer
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.
Software Engineer:
Tugas:
1. Melakukan tugas-tugas programmer, system analyst dan
sebagian tugas SQA engineer
2. Merekomendasikan dan menerapkan metodologi terbaik
dalam sebuah proyek software development
Keahlian yang Diperlukan:
1. Menguasai hal-hal yang dikuasai programmer, system
analyst dan SQA engineer (dalam porsi yang lebih sedikit)
2. Menguasai SDLC berdasarkan SWEBOK (requirement,
design, implementation/construction, testing, maintenance)
3. Menguasai metodologi software development seperti RUP,
Agile, XP, Scrum dll
Latar Belakang:
Ilmu Komputer, Teknik Informatika, Manajemen Informatika,
Matematika pemusatan studi Komputasi
4. Database Administrator (DBA)
Profesi Database Administrator (DBA) terkait erat dengan
programmer dan system analyst. Seorang DBA biasanya pernah
menjadi seorang programmer tetapi pekerjaannya lebih sering
berkaitan dengan database. Perbedaannya dengan database
application programmer adalah seorang DBA memiliki keahlian
lebih mendalam dalam hal desain, optimasi dan manajemen
RDBMS (Relational Database Managemant System) tertentu
seperti Oracle, SQL Server, MySQL dll. Tentunya penguasaan
terhadap SQL (Structured Query Language) mutlak diperlukan.
DBA harus memiliki keahlian menterjemahkan requirement
proses bisnis ke obyek-obyek dalam database seperti tabel,
query\view dan stored procedure disamping keahliannya dalam
optimasi database seperti tuning, indexing, clustering, backup
data, maintain high availability dan sebagainya.
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 saya pernah diamanati oleh atasan 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:
1. Merancang dan membangun database dalam sebuah sistem
2. Merekomendasikan solusi terbaik dalam implementasi
database baik dalam hal software maupun hardware
3. Memaintain database agar dapat berjalan dengan baik dan
optimal
Keahlian yang Diperlukan:
1. Menguasai ERD, SQL dan desain database secara
mendalam
2. Menguasai berbagai teknik optimalisasi/tuning, backup dan
maintain database
3. Menguasai secara mendalam salah satu atau lebih RDBMS
beserta tools yang ada.
4. Memahami tentang salah satu platform/bahasa
pemprograman untuk mengakses database
5. Menguasai teknologi server, storage, operating system yang
berkaitan dengan implementasi database
Latar Belakang:
Manajemen Informatika, Teknik Informatika, Ilmu Komputer
5. Software Architect
Software architect atau kadang disebut juga sebagai Technical
Architect biasanya bekerja di perusahaan software development
yang memiliki produk-produk software yang cukup besar dan
kompleks. software architect bertugas untuk mendesain dan
merekomendasikan secara technical mengenai bagaimana dan
apa yang diperlukan dalam mengembangkan produk software
tersebut. Profesional di bidang ini biasanya pernah meniti karir
sebagai programmer, software engineer atau system analyst.
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:
Tugas:
1. Merekomendasikan teknologi yang paling cocok untuk
mengembangkan produk software
2. Membuat standar-standar software development yang akan
digunakan oleh tim programmer / developer
3. Membuat rancangan/desain software dan proses
pengembangannya secara keseluruhan
Keahlian yang Diperlukan:
1. Menguasai hal-hal yang dikuasai programmer, system
analyst dan software engineer
2. Menguasai secara mendalam tentang software development
technology
3. Menguasai penulisan dokumen dengan baik (dalam bahasa
Inggris dan Indonesia)
Latar Belakang:
Teknik Informatika, Ilmu Komputer, Manajemen Informatika
6. Software Implementer
Software implementer kadang desebut sebagai “Implementer”
atau “Software Support”. Profesi ini kedengarannya mirip dengan
“System Support” di dunia Computer System & Networking (lihat
di “Profesi di dunia IT Bagian 1″). Memang secara pekerjaan ada
kemiripan, tetapi sesuai penamaannya, dalam hal sesuatu yang
disupport tentu sudah terlihat perbedaannya. Profesi software
implementer tidak tergolong dalam bidang software development
melainkan lebih dekat ke bidang software consulting.
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
Tugas:
1. Melakukan instalasi/implementasi serta setting produk
software di sisi client/customer
2. Memelihara dan memastikan software yang sudah
diimplementasikan berjalan dengan baik
3. Melakuakan troubleshooting terhadap produk software
4. Memberikan pelatihan (training) kepada para pengguna
software
Keahlian yang Diperlukan:
1. Menguasai secara mendalam produk software yang akan
diimplementasikan
2. Menguasai teknologi platform / sistem poperasi/ middleware
(bila ada) yang dibutuhkan oleh produk software yang
disupport
3. Memahami insalasi, setting & troubleshooting produk
software yang diimplementasikan
Latar Belakang:
Manajemen Informatika, Teknik Informatika, Ilmu Komputer,
Teknik Komputer, Teknik Elektro (Pemusatan Studi Komputer)
7. Technical Consultant
Technical Consultan atau kadang disebut sebagai “Consultant”
saja sesuai namanya bekerja sebagai konsultan IT. Tugas utama
seorang konsultan adalah merekomendasika solusi teknologi IT
terbaik untuk memecahkan masalah yang ada. Bila seorang
software architect lebih menguasai solution domain, seorang
technical consultant lebih menguasai problem domain. Seorang
technical consultant mirip seorang system analyst yang lebih
sering membuat konsep proses bisnis dan requirment daripada
melakukan design atau coding. Technical consultant tentunya
juga menguasai teknologi software development tetapi pada level
yang lebih umum dan luas (high level) dan lebih condong
termasuk dalam bidang software consulting.
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″, saya pernah bercerita tentang IT specialist yang
kedengarannya 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:
Tugas:
1. Memberikan konsultansi/rekomendasi mengenai solusi IT
terbaik untuk memecahkan masalah
2. Membuat dokumen seperti proposal, requirement dan desain
software secara umum
3. Melakukan pelatihan (training) kepada para pengguna
software
Keahlian yang Diperlukan:
1. Berpengalaman dan menguasai berbagai macam proses
bisnis enterprise atau jenis bisnis terentu
2. Menguasai teknologi IT secara luas
3. Menguasai secara mendalam tentang solusi software yang
direkomendasikan
4. 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)
8. User Interface Designer
Mungkin anda agak jarang mendengar nama profesi seperti ini
karena memang istilah ini jarang digunakan. Ada iklan lowongan
pekerjaan yang menggunakan istilah “User Interface Designer”,
tetapi lebih sering digunakan istilah “Web Designer” untuk posisi
tersebut.
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.
User Interface Designer:
Tugas:
1. Mendesain user interface agar menarik dan serasi secara
visual dan user friendly
2. Mendesain image/gambar/animasi yang akan digunakan di
tampilan user interface (UI) software aplikasi
Keahlian yang Diperlukan:
1. Memiliki bakat/minat di seni rupa / desain visual
2. Memahami dasar-dasar pemprograman baik web maupun
secara umum
3. Menguasai scripting untuk user interface seperti seperti
HTML, DHTML, CSS, JavaScript, action script, XAML dll.
4. Menguasai tools manipulasi image dan animasi
Latar Belakang:
Seni Rupa (desain visual), Teknik Informatika, Ilmu Komputer,
Manajemen Informatika
Sampai di sini dulu tulisan ini, mudah-mudahan dapat
bermanfaat. Bagi anda yang berminat berkarir di dunia IT
terutama bidang software development / consulting, mungkin bisa
memilih profesi mana saja yang cocok atau sesuai dengan
peminatan.
Sebagaimana yang pernah saya sebutkan pada tulisan yang
berjudul “Profesi di dunia IT Bagian 1“, setiap profesi di dunia
IT memiliki jenjang karir mulai dari fresh graduate, junior,
experienced, senior hingga expert.
Pencapaiannya jenjang karir bergantung pada ketekunan masing-
masing untuk terus meningkatkan pengetahuan dan keahliannya
serta dedikasinya pada pekerjaan. Saya akan membahas lebih
detail mengenai hal ini dalam tulisan yang berjudul: “Jenjang
Karir di Dunia IT“.
System Development Life Cycle (SDLC)
SDLC adalah tahapan-tahapan pekerjaan yang dilakukan oleh analis sistem dan programmer dalam membangun sistem informasi. Langkah yang digunakan meliputi :1. Melakukan survei dan menilai kelayakan proyek pengembangan sistem informasi2. Mempelajari dan menganalisis sistem informasi yang sedang berjalan3. Menentukan permintaan pemakai sistem informasi4. Memilih solusi atau pemecahan masalah yang paling baik5. Menentukan perangkat keras (hardware) dan perangkat lunak (software)6. Merancang sistem informasi baru7. Membangun sistem informasi baru8. Mengkomunikasikan dan mengimplementasikan sistem informasi baru9. Memelihara dan melakukan perbaikan/peningkatan sistem informasi baru bila diperlukan
System Development Lyfe Cycle (SDLC) adalah keseluruhan proses dalam membangun sistem melalui beberapa langkah. Ada beberapa model SDLC. Model yang cukup populer dan banyak digunakan adalah waterfall. Beberapa model lain SDLC misalnya fountain, spiral, rapid, prototyping, incremental, build & fix, dan synchronize & stabilize.
Dengan siklus SDLC, proses membangun sistem dibagi menjadi beberapa langkah dan pada sistem yang besar, masing-masing langkah dikerjakan oleh tim yang berbeda.
Dalam sebuah siklus SDLC, terdapat enam langkah. Jumlah langkah SDLC pada referensi lain mungkin berbeda, namun secara umum adalah sama. Langkah tersebut adalah
1. Analisis sistem, yaitu membuat analisis aliran kerja manajemen yang sedang berjalan
2. Spesifikasi kebutuhan sistem, yaitu melakukan perincian mengenai apa saja yang dibutuhkan dalam pengembangan sistem dan membuat perencanaan yang berkaitan dengan proyek sistem
3. Perancangan sistem, yaitu membuat desain aliran kerja manajemen dan desain pemrograman yang diperlukan untuk pengembangan sistem informasi
4. Pengembangan sistem, yaitu tahap pengembangan sistem informasi dengan menulis program yang diperlukan
5. Pengujian sistem, yaitu melakukan pengujian terhadap sistem yang telah dibuat
6. Implementasi dan pemeliharaan sistem, yaitu menerapkan dan memelihara sistem yang telah dibuat
Siklus SDLC dijalankan secara berurutan, mulai dari langkah pertama hingga langkah keenam. Setiap langkah yang telah selesai harus dikaji ulang, kadang-kadang bersama expert user, terutama dalam langkah spesifikasi kebutuhan dan perancangan sistem untuk memastikan bahwa langkah telah dikerjakan dengan benar dan sesuai harapan. Jika tidak maka langkah tersebut perlu diulangi lagi atau kembali ke langkah sebelumnya.
Kaji ulang yang dimaksud adalah pengujian yang sifatnya quality control, sedangkan pengujian di langkah kelima bersifat quality assurance. Quality control dilakukan oleh personal internal tim untuk membangun kualitas, sedangkan quality assurance dilakukan oleh orang di luar tim untuk menguji kualitas sistem. Semua langkah dalam siklus harus terdokumentasi. Dokumentasi yang baik akan mempermudah pemeliharaan dan peningkatan fungsi sistem