12 Model Infrastruktur IT untuk Perusahaan Kecil dan Menengah

Bagai mana cara menjadi technicall support yang handal, dalam sebuah perusahaan yang berskala menengah ke bawah ? seperti yang kita tahu, perusahaan skala menengah minim akan budget IT, namun banyak juga perusahaan besar yang tidak menerapkan Infrastruktur IT nya dengan baik, sebagai teknikal support mungkin kira slalu merasa bingung, tidak ada masa depan, seperti tukang servis, dan kalimat lainya yang membuat kita jadi tidak bersemangat untuk bekerja dan berkarir melalui jalur tersebut.

Jika sekarang dalam situasinya kita menjadi seorang support onsite, pada sebuah perusahaan, sanggupkah kita menjawab semua ini:

sanggup kah kita menghandle 100PC lebih ?
sanggpukah kita memaintain keseluruhanya ?
sanggupkah kita memaintain server dan aplikasinya ?
jika kita bekerja sendiri atau maksimal 2 orang ?

kalau saya yang di berikan pernyataan seperti itu, saya akan bilang sanggup, karena saya mengikuti model infrastruktur IT seperti yang ada di bawah ini, dengan model ini diharapkan seorang teknikal support akan lepas dari rutinitas nya, dan bisa lebih ber eksplorasi untuk memajukan sistem IT perusahaan, tampa harus terikat dengan rutinitas, dan meluangkan banyak waktu.

12 hal yang harus kita perhatikan adalah

1. Sentralisasi Aplikasi<!–[endif]–>

Beberapa hal yang patut kita perhatikan untuk membuat sentralisasi aplikasi ini maksudnya adalah untuk memudahkan client pc memanfaatkan sumber daya secara bersama sama misalnya saja

antivirus server

Membuat antivirus menjadi tersentral sangatlah baik untuk menghemat koneksi internet, sehingga, masing masing client pc tidak perlu mengupdate antivirus / antispywarenya langsung ke internet, cukup melalui server saja, walaupun begitu kita tidak harus membeli antivirus server, kita bisa pakai antivirus yang free (spt calmav, avg free, dsb), hanya saja kita perlu mengetahui skematik cara kerja proses update antivirus, dan kita bisa membuat batch file yang akan di letakan di schedule task client pc.

pada dasarnya, model kerja proses update antivirus itu mirip mirip, ada yang def nya terdiri dari 1 file, 1 folder, ada yang beberapa file, ada yang di zip dsb, sehingga intinya kita hanya perlu mengkopikan definisi tersebut ke client pc, masalahnya kita perlu mencari tahu file file apa saja yang di update oleh antivirus sewaktu dia sedang melakukan proses update koneksi ke internet, untuk mencari itu, gunakan software untuk memonitor file ( ada banyak freeware di google, ketikan saja “file monitor” )

jadi, folder def antivirus itu bisa di share melalui jaringan, dan pc client bisa membuat map langsung ke folder tersebut, sehingga di pc client jangan lupa untuk memasukan batch file kedalam schedule task dan atur waktu update client tersebut.

untuk membuat map / tidak, hanya akan mempermudah proses pembuatan batch filenya saja, sedangkan untuk proses membuat batch file diperlukan kemampuan batch dos programming (windows) dan shell (dilinux), untuk lebih detail nya bisa merujuk ke artikel saya sebelumnya tentang batch file.

Print Server

Selain itu, kita bisa membuat shared printer juga di server ini baik itu ke printer langsung ataupun ke pdf server, kita tinggal install aplikasinya dan share langsung, sehingga ini akan menghemat biaya untuk membeli print server yang bisa seharja 1jt an

DHCP dan domain controller

atau kalau komputernya memadai kita bisa buat dhcp server dan domain, built in di 1 tempat.

2. Data Center<!–[endif]–>

Untuk menghemat spesifikasi komputer dan menjaga keamanan data, sebaiknya di buat sebuah data center kecil atau bisa disebut juga dengan NAS ( Network Attach Storage) bentuk NAS ini ber variasi, ada yang built in, dan ada yang bikin sendiri, kalau mau bikin sendiri sangatlah mudah, bisa dengan windows ataupun dengan Linux, kalau windows memberikan kemudahan pengaturan hak akses untuk folder yang langsung terintegrasi dengan domain controller, begitu juga linux, mungkin kesulitanya terletak pada saat proses upgrade kita harus meng set mounting drive baru dan membuat samba lagi kedalam nya.

Untuk membuat NAS ini gunakan saja PC dengan spesifikasi se adanya, dan di sesuaikan OS nya, kalau pentium 2, bisa pakai LINUX NAS LITE, atau kalau spesifikasinya lebih memadai dan ada licens windows 2000 bisa pakai Windows saja.

Spec hardware Rekomendasi saya adalah:

Pentium 3 processor 800 – 1ghz
RAM 256 – 512mb
SATA / PATA Controller Card (pci)
Harddisk sebanyak2 nya ( sesuaikan dengan kebutuhan anda )
Ethernet card
Windows 2000

Minimum

Pentium 2
Ram 128
SATA / PATA Controller card (pci)
Harddisk
Ethernet card
Linux NAS LITE

untuk grafis nya, pilih yang ada saja, atau kalau mau mencari di toko, bisa memilih grafis seken yang paling murah, karna kita tidak membnutuhkan grafis yang memadai disini, onboard lebih bagus.

sedangkan NAS yang built in sudah mulai banyak dipasarkan, dengan harga yang tidak begitu mahal, menyediakan berbagai interface USB, LAN, dan bahkan ada yang Sudah support dengan USB LAN dan FIREWIRE, dan ngga tanggung tanggung, ada juga yang didalamnya sudah ada disk nya, yang bisa di upgrade.

biasanya untuk NAS box yang built in ini untuk mengkonfigurasinya melalui media web interface, core engine nya juga berbasis linux kok, biasanya di dalamnya sudah ada ftp server, web server, folder access management, dll, sebelum membeli cek dulu feature yang di butuhkan untuk ke depanya, supaya tidak menyesal di kemudian hari

Selain itu, jangan letakan mp3 atau file streaming di dalam NAS ini, karena kinerjanya akan mengalami penurunan disaat banyak yang men streaming file, dan proses fragmentasi filenya pun akan cepat meningkat, dan kitapun akan kerepotan nantinya.

dengan menggunakan model seperti ini, ini akan menghemat disk yang ada di pc client, kalau kita merakit pc client kita bisa pilih disk yang 20Gb (kalau masih ada), karena untuk data mereka tidak perlu simpan di pc nya, sentral kan saja, akan lebih mudah.

sehingga dengan adanya NAS ini kita bisa:

menyimpan data dan hak aksesnya berdasarkan seseorang, group, dll
Kita bisa meletakan aplikasi portabel untuk troubleshooting pc
Menyimpan kumpulan driver / update dan patch os terbaru
dan kesemuanya itu tersentral

<!–[if !supportLists]–>3. Backup Center<!–[endif]–>

Untuk backup center ini secara fungsional kita harus memilikinya, kita boleh gunakan NAS kita (limit budget) untuk itu atau kita membuat 1 NAS lagi yang isinya Backup data, Backup ini bisa juga di gunakan untuk membackup NAS yang sudah ada sebelumnya, maklum saja, kalau NAS nya berbasis Linux, dan di map oleh windows, pada saat terkena virus ini akan membahayakan data yang ada didalam NAS tersebut, jadi walau bagaimanapun backup ini sangat berperan penting.

selain itu, data internal client pc pun butuh di backup, semisalnya tidak tertolong lagi dan harus di reformat, misalnya data outlook, profile, favorite, dsb, jadi kebutuhan backup ini sangatlah penting untuk kelangsungan kerja ruang lingkup sistem.

jadi dapat disimpulkan fungsi utama dari backup ini adalah:

Untuk membackup image

Image adalah replika sebuah partisi yang di kompress kedalam 1 file, Maksudnya adalah, buatlah sebuah image dari sebuah komputer yang baru di fresh install, masukan semua default software yang ada beserta konfigurasi nya, sebagai contoh:

install lah pc baru yang kosong dengan aplikasi berikut

drivers
office
antivirus
antispyware
codec
printer
image viewer
pdf viewer
win-amp
firefox browser + plugin
VNC Server
ip Identify tools
konfiguration file (misalnya, batch file untuk update antivirus, untuk backup data, untuk map network drive, dan lainya)

lalu, gunakan norton ghost, untuk membuat image pada partisi tersebut, untuk proses pembuatanya bisa gunakan minipe windows live cd, nah nantinya file image itu dapat disimpan di dalam backup drive, dan pada saat ada pc yang komputernya tidak tertolong lagi, kita dapat mengembalikan pc dengan waktu yang sangat cepat tampa harus menginstall ulang, tentunya untuk memudahkan proses restorasi OS yang sudah rusak namun untuk itu kita harus membuat ftp server pada backup drive untuk memudahkan proses transfer file image ke komputer yang akan di restore.

Untuk membackup file file konfigurasi

file file penting user yang akan di reinstall ulang pc nya dapat disimpan disini batch, library, outlook pst, addressbook, favorite, dll

Untuk memabackup NAS Sebelumnya

walau bagaimanapun data center adalah aset data yang harus di lindungi, karena semua user datanya tersimpan di dalam data center, sehingga backup NAS itu sendiri pun diperlukan, jika masing masing NAS (Data center dan Backup) terdapat service ftp di dalamnya kita bisa menggunakan FTP Synchronizer untuk membackup kedua server tersebut, atau dengan bacth file hanya dalam hitungan klik

<!–[if !supportLists]–>4. Remote System<!–[endif]–>

Remote system akan sangat bermanfaat bagi para teknikal support yang memiliki klien pc yang agak banyak, ini akan menghindari masalah mondar mandir yang mungkin akan menjadi keluhan pada it tech support, sehingga untuk itu dengan adanya VNC server kita tinggal meremote pc client yang bermasalah, tampa harus mengunjungi pc tersebut, sungguh penghematan energi yang baik.

kita tinggal menerima telepon, mendengar keluhan, dan meminta ip addressnya berapa (jgn lupa meletakan program untuk menampilkan ip address di systray untuk memudahkan) dan kita tinggal kirim koneksi vnc ke user dan nanti nya user tersebut akan menerima popup akses untuk permintaan akses koneksi (hal ini patut di lakukan agar user merasa aman kalau pc nya tidak di remote secara silent), setelah di terima kita siap memperbaiki masalah.

untuk beberapa hal yang ridak bisa di remote barulah mau tidak mau kita harus datang ke onsite nya, untuk melihat masalahnya, misalnya tidak mau boot, blank screen, dan hardware error

<!–[if !supportLists]–>5. Report dan Dokumentasi<!–[endif]–>

Setiap kasus yang / problem, baik atau yang sudah di selesaikan maupun yang belum, kita harus membuat laporanya, dan tindakanya, hal ini sangat penting untuk atasan kita, kalau kita kerja dengan baik dan ada laporanya.

selain itu, jika ingin lebih baik lagi, terapkan lah sistem ticketing untuk pekerjaan kita, sehingga hal ini memudahkan kita untuk membuat laporan laporan masalah dan kerusakan, namun untuk membuat sistem ini di perlukan web server apache, php dan mysql, kita bisa menggunakan server kita sebelumnya yang sudah ada untuk aplikasi ini, karena banyak sekali aplikasi ticketing yang beredar di sourceforge.net yang gratis dan bisa di gunakan dan di manfaatkan, yang di dalamnya sudah mencakup knowledbase ticket sistem, user profuile dan lainya, dan aplikasi ini kebanyakan berbasis web.

untuk server nya, secara instan bisa di install lewat windows dengan menggunakan xaamp atau appserv, begitu juga di linux.

apa kegunaan ticketing ini ? maksud dari ticketing adalah sebuah tiket ( tapi bukan tiket perjalanan ) yang di dalamnya menjelaskan status mengenai pekerjaan kita, dalam tiket tersebut terdapat dekripsi masalah yang kita hadapi, status nya bagaimana, pending, resolve, new, cancel ataupun close, sehingga dengan web base tiketing sistem ini, user bisa lihat antrian nya, status masalahnya sampai dimana, kapan selsai nya, apa saja yang akan dikerjakan oleh IT berikutnya, progressnya gimana, sehingga IT tidak akan terkesan ngga kerja, dan laporan nya pun akan jelas.

jika tidak memungkinkan (atau terlalu rumit untuk dilaksanakan), kita bisa buat ticketing sendiri, dalam excel misalnya, dan kita bisa letakan di dalam NAS dimana akses nya untuk user lain hanya bisa Read saja, dan untuk memudahkan user tersebut, letakan saja shortcut di desktop yang akan mengarah ke NAS untuk melihat status tiket excel kita.

untuk hal hal yang memerlukan persetujuan atasan, misalnya saja penambahan harddisk, kalau ticket berbasis web sangatlah mudah, kita tinggal mengirimkan status tiket web ke atasan kita untuk di approve via e-mail, sedangkan jika menggunakan ticketing excel, kita bisa mengirimkan e-mail dengan memberi links yang langsung mengarah ke ticket yang harus di approve oleh bos kita, dengan mereply e-mail kita.

sehingga dengan demikian sistem laporan kita akan menjadi bagus dan rapih.

selain tiketing, kita juga harus mendokumentasi,

dokumentasi ini di Indonesia adalah hal yang paling buruk dan banyak orang yang malas dengan mendokumentasi / men data.

yang harus kita dokumentasi adalah, masalah, jenis jenis masalah, dan cara menanganinya (kalau sudah di tangani) kita bisa simpan dixcel lagi, atau kalau dengan menggunakan sistem tiketing sudah ada di dalamnya langsung (jadi kita tidak perlu mengisi 2x), selain itu kita juga harus mendokumentasi konfigurasi sistem yang ada di kantor, mulai dari ip address, server, username

tujuanya adalah, jika suatu saat kita tidak ada, ( cuti ) kita tidak akan di ganggu oleh telpon kantor, selain itu, jika kita men train karyawan baru, anggap lah tidak memadai skillnya, kita bisa berikan dokumentasi itu padanya untuk di pelajari atau jadi bahan acuan.

beberapa field standar tiketing excel adalah:

no kasus
IP address
Nama
Problem
Status
Keterangan

sedangkan untuk dokumentasi nya

no dok
Problem
Solve
Keterangan

kita bisa update tiap bulan sebagai laporan hasil kerja kita kepada atasan.

jika lebih kreatif, silahkan di kembangkan di excel dengan lebih baik, jika perlu di ms access.

<!–[if !supportLists]–>6. Software Management<!–[endif]–>

untuk mengatur pc agar seragam kita harus mem pack software software yang kita beli dengan baik, kita bisa meletakan software software tersebut kedalam data center kita, dan sebaiknya gunakanlah software yang sudah legal, atau setidaknya usahakan lah untuk menggunakan software yang free dahulu.

kita harus menentukan software apa apa saja yang akan di butuhkan oleh user standart misalnya saja

office, 7zip, winamp, avg free, ms framework, ip tools, vnc, firefox, acrobat reader

dsb

sehingga setiap client akan memiliki keseragaman sistem.

dan untuk software yang sudah kita lisensi, simpanlah kedalam bagian report dan dokumentasi, mengenai register nya, product code nya,dll nya, sehingga data kita akan menjadi rapih dan teratur.

jika user meminta software tertentu kita bisa install kan lewat VNC

Rekomendasi saya untuk Standar Office software adalah

Windows.
Office
Acrobat reader
antivirus
antispyware
image viewer
codec
VNC server
ip systray tools
YM
Firefox
Set Auto IP (dhcp)
Set Auto Update antivirus dan antispy to server (batch to schedule task)
Set Auto scan interval (batch to schedule task)
Set AutoBackup UserProfile (batch to schedule task)
Set Auto Map Network Drive Printer (batch)
Set Join Domain
Set to print server (batch)
Set to print PDF Server (batch)

that’s it, make as image, and deploy to all pc.

<!–[if !supportLists]–>7. Live CD<!–[endif]–>

Terkadang live cd sangat kita butuhkan untuk menangani kasus OS yang bermasalah misalnya tidak mau boot, sehingga kita harus merestore OS tersebut, atau mengscan antivirus, atau juga membackup, untuk proses semacam itu kita bisa gunakan linux Live cd, atau windows live cd.

live cd adalah sebuah cd yang memungkinkan kita untuk merunning OS yang berasal dari CD, CD tersebut secara fisik akan membuat sebuah ram drive dan menempatkan sebagian data penting nya kedalam ramdrivenya dan kita bisa merunning OS dari CD tersebut tampa adanya OS kita, di dalamnya biasanya tedapat banyak utility yang sangat berguna untuk troubleshooting.

gunakanlah minipe MAS Edition, ataupun Linux Live CD untuk hal ini, akan sangat membantu kita.

jika komputer client tidak dilengkapi dengan cd rom, kita bisa memindahkan live cd kita kedalam usb flashdisk 512-1gb dan kita bisa mem boot melalui usb itu (untung untung motherboardnya bisa boot via usb)

<!–[if !supportLists]–>8. Portable Apps Software<!–[endif]–>

ada banyak aplikasi portable yang bisa kita manfaatkan untuk mentroubleshoot masalah, software portable ini bisa kita simpan di NAS kita, dengan begitu, jika kita harus ke onsite, dan membutuhkan software khusus kita tidak harus membawa cd program atau usb yang berisi program, cukup bawa akses portable software tersebut dari jaringan dan semuanya selesai, beberapa aplikasi portable yang ada seperti contoh

IP-Tools_SFX
Network Scanner
Angry IP scanner
AdapterWatch
xp-AntiSpy
HDDlife portable
Norton Disk Doctor portable
Ultimate MBRGUI
Sysinternals Process Explorer

dst

jika ingin mencari portable software, ketikan saja “portable software” ke google, banyak sekali aplikasi yang dijadikan software, jika tidak menemukanya, silahkan e-mail ke saya, saya akan upload kan server saya secara cuma cuma

<!–[if !supportLists]–>9. Automation<!–[endif]–>

Untuk menghindari proses yang sama berulang ulang, silahkan buat automatisasinya, hal ini akan menghindarkan kita dari proses rutinitas yang akan membuat kita bosan dengan pekerjaan kita yang berulang ulang, misalnya saja

update antivirus,
update anti spy
backup NAS ke
Backup Drive

backup data user ke backup drive
memberi folder akses
membuat user baru
setting ip network
auto shutdown pc client
dan hal kecil lainya

semuanya bisa dilakukan secara otomatis melalui batch file windows xp atau shell scripting di linux, mengenai batch file windows xp, dapat di pelajari di tutorial saya sebelumnya tentang batch file.

kalau semuanya bisa dilakukan dengan 2x, bayangkan, begitu mudah nya kita mengelola ruang lingkup sistem komputer kita.

<!–[if !supportLists]–>10. Spare Device<!–[endif]–>

Hal ini banyak yang di abaikan banyak perusahaan, tidak mau menyimpan spare device, kebanyakan perusahaan lebih memilih menunggu device yang rusak dan menunggu proses order dulu untuk menyelesaikanya, hal ini menyebabkan user kehilangan waktu kerja dan user akan mengalami kerugian efisiensi kerja, sehingga untuk itu seorang it technicall support seharusnya menyimpan beberapa spare peralatan untuk mengganti device yang tiba tiba mengalami kerusakan sehingga akan menghilangkan downtime kerja user.

beberapa peralatan yang biasanya harus di spare untuk pc client yang rakitan:

Harddisk
RAM
Ethernet card
PowerSupply
dan VGA

dan atur aja untuk jumlahnya masing masing, dan sekali lagi, semuanya terdata dan terdokumentasi.

<!–[if !supportLists]–>11. R&D<!–[endif]–>

Dengan menggunakan Virtual Server

Kira kira itulah yang media yang tepat untuk seorang teknikal support, dengan memiliki komputer dengan spek yang canggih ( ram, prosesor, dan harddisk yang besar ) memungkinkan kita untuk mengadakan research mengenai kebuthan kebutuhan yang kira kira nantinya akan di butuhkan untuk masa mendatang, karena walau bagaimanapun, perusahaan itu sudah seharusnya berkembang, bersamaan dengan berkembanganya perusahaan berkembang juga infrastruktur IT dari yang sederhana menjadi yang lebih kompleks lagi.

dengan adanya virtual server, kita bisa melakukan test server, bisa melakukan test konfigurasi, test software, dan lainya, tampa harus mengganggu infrastruktur yang sudah kita buat sebelumnya, sehingga pekerjaan kita akan lebih nyaman dan lebih baik, dan kemampuan kita pun akan selalu ter update karena kita selalu memilki media untuk ber eksperimen.

walaupun ini hanya eksperimen bukan berarti kita tidak mencantumkanya kedalam laporan, ini pun harus di buat, sebagai prestasi dari apa yang sudah kita developmen kan selama ini.

<!–[if !supportLists]–>12. Internet gateway<!–[endif]–>

Khusus untuk internet gateway, kita bisa menggunakan router khusus atau server khusus (bergantung dari koneksi ke luar nya apa), salah satu model internet gateway yang baik adalah filter lah port yang tidak di gunakan, gunakan saja port port yang sudah di tentukan, sehingga memudahkan kita untuk mengatur komputer user kita untuk terhindar dari trojan, spyware, dan program program penyusup lainya, sehingga dengan memfilter port akan meningkat kan kemanan sistem jaringan di perusahaan kita.

beberapa port yang biasanya di buka adalah

http
https
ssh
YM
pop
smtp
dan port lainya

kita bisa menggunakan linux untuk router, atau kita bisa gunakan windows juga, semua itu bergantung dari kita, mana yang mudah untuk kita konfigurasi gunakanlah hal itu

Dengan Mengimplementasikan model semacam ini, beban kerja teknikal support akan lebih ringan, lebih banyak waktu untuk membuat report, lebih banyak waktu untuk melakukan riset, lebih banyak waktu untuk melakukan hal yang lebih penting dengan meng automatisasi rutinitas, semoga membantu

Artikel ini dirangkum dan disederhanakan dari Model kerangka kerja ITIL ( IT Infrastructure Library )

Bagaimana Mahasiswa Ilmu Komputer Belajar: Mengkritisi Kurikulum dan Gaya Pendidikan Kita

Sepulang dari study di Jepang tahun 2004, saya banyak mengajar di beberapa Universitas di Jakarta, terutama di fakultas atau jurusan yang berhubungan dengan ilmu komputer dan teknik informatika. Saya mengajar mata kuliah yang memang saya kuasai, dan terkait langsung dengan tema penelitian saya. Diantaranya adalah mata kuliah Software Engineering (Rekayasa Perangkat Lunak), Algoritma dan Bahasa Pemrograman (Algorithm and Programming Language), dan Basis Data (Database). Kebanyakan mata kuliah tersebut diajarkan setelah semester 5 (tingkat 3 atau 4). Dalam interaksi belajar mengajar di kelas, saya menemukan beberapa fenomena menarik berhubungan pengetahuan mahasiswa dan kurikulum yang diajarkan di universitas.

Saya menemukan tipe mahasiswa yang ketika saya terangkan dia kesulitan menangkap beberapa konsep yang seharusnya sudah dia dapat di semester sebelumnya. Katanya, itu tidak diajarkan di universitas tersebut. Fenomena ini terjadi dalam universitas yang memotong (mengubah) beberapa kurikulum yang seharusnya diajarkan, karena tidak ada SDM pengajar (dosen). Di lain pihak, saya menemukan fenomena lain dimana mahasiswa mengatakan bahwa dia mengenal beberapa konsep yang saya singgung, hanya dia lupa mata kuliah yang mengajarkannya. Fenomena ini terjadi di universitas yang mencekoki mahasiswanya dengan mata kuliah berlebih, dengan argumentasi bahwa supaya mahasiswa mendapat pengetahuan secara lengkap. Sering dosen mengajar bukan pada bidang yang dikuasai, hal itu terpaksa dilakukan oleh universitas untuk mengejar mata kuliah yang harus jalan. Dua-duanya ternyata membuat mahasiswa jadi linglung, yang satu linglung karena memang tidak pernah diajarkan, dan yang lain linglung karena terlalu banyak yang diajarkan. Intinya sih kedua-duanya sama-sama nggak ngerti.

Fenomena aneh lain tentunya masih banyak, misalnya mahasiswa tingkat 3 jurusan teknik informatika (atau ilmu komputer) yang tidak kenal siapa Dennis Ritchie, tidak bisa membuat program meskipun hanya untuk sebuah fungsi untuk memunculkan Hello World (apalagi mengkompilenya), tidak paham tentang paradigma pemrograman, juga tidak paham apa itu kompiler, shell, pointer, fungsi, array, dan tentu semakin mual-mual kalau saya sebut algoritma atau struktur data.

Bagaimana seorang mahasiswa Ilmu Komputer belajar? Saya mencoba memberi gambaran umum dengan mengambil studi kasus bagaimana jurusan ilmu komputer di Saitama University mengatur kurikulumnya. Saitama University bukan termasuk universitas yang terbaik untuk ilmu komputer, umurnya masih sangat muda dengan SDM pengajar (professor) yang juga terbatas, bahkan beberapa professor diambil dari jurusan elektro untuk beberapa mata kuliah tertentu. Ini tidak mengurangi keseriusan universitas untuk menyajikan pendidikan dan kurikulum terbaik untuk mahasiswa-mahasiswanya.

Saya mulai program undergraduate (S1) di Department of Information and Computer Sciences, Saitama Univesity tahun 1995. Tingkat I (semester 1 dan 2), mata kuliah dasar (kiso kamoku) sangat dominan. Kalkulus, statistik, probabilitas, fisika dasar, kimia dasar, discrete mathematics, dan mata kuliah dasar lain banyak diajarkan. Semester 2 sudah ada beberapa mata kuliah jurusan (senmon kamoku) yang diajarkan, diantaranya adalah bahasa pemrograman, bahasa C (prosedural), HTML, dengan praktek lab untuk mengenal Unix, shell, text editor (emacs), laTeX (TeX), gnuplot, kompiler, teknik typing 10 jari, dsb. Pada saat masuk tingkat II (semester 3), saya menyadari bahwa mata kuliah tingkat I membekali saya dengan beberapa tool dan konsep dasar, sehingga saya bisa survive mengikuti proses belajar mengajar di tingkat selanjutnya. Lab komputer hanya berisi Unix terminal. Seluruh laporan dan tugas harus ditulis dengan laTeX dengan text editor emacs, apabila memerlukan bahasa pemrograman harus dibuat dalam bahasa C dan dikompilasi dengan GCC. Apabila ada data yang harus ditampilkan dalam bentuk grafik, bisa menggunakan Gnuplot. Setiap mahasiswa harus mempunyai situs web (homepage), dimana selain berisi aktifitas pribadi, juga berisi seluruh laporan dan tugas yang dikerjakan. Selain lewat situs web, laporan harus dikirim dengan menggunakan email ke professor pengajar, dalam format PS atau PDF dengan source dari laTeX.

Yang menarik, bahwa gaya pendidikan yang ditempuh menganut konsep korelasi, berhubungan, saling mendukung dan terarah dari semester 1 sampai akhir. Skill terhadap komputer dan bahasa pemrograman juga cukup dalam, karena ada kewajiban menguasai bahasa C, HTML, Unix, Linux, Shell, dsb yang bukan untuk ritualitas mata kuliah semata, tapi untuk bekal sang mahasiswa supaya bisa survive di jenjang semester berikutnya. Apakah tidak diajarkan paradigma dan bahasa pemrograman lain? jawabannya adalah diajarkan, tetapi untuk konsumsi mahasiswa tingkat 3 (semester 5 dan 6). Pemrograman berorientasi objek (Java), functional programming (LISP dan Scheme), dan Prolog diajarkan pada semester 5 dan 6 untuk membidik supaya sang murid “nyantol” ketika mengikuti mata kuliah Kecerdasan Buatan (Artificial Intelligence) dan Rekayasa Perangkat Lunak (Software Engineering). Dan dengan sebelumnya menguasai bahasa prosedural seperti C, kita semakin “ngeh” tentang pentingnya paradigma berorientasi objek ketika mendalami mata kuliah tentang pemrograman berorientasi objek.

Korelasi mata kuliah ini nampak juga dari deretan gaya pengajaran, setelah mahir berbahasa C, kita diminta ngoprek Minix yang terbuat dari bahasa C (sistem operasi buatan Andrew S. Tanenbaum, yang menginspirasi Linus Torvald membuat Linux) pada mata kuliah Operating System (Sistem Operasi), membuat sendiri shell (dengan fungsi yang mendekati bash dan cshell) diatas sistem operasi yang sudah kita oprek, dan diminta mendesain dan mengembangkan bahasa pemrograman sendiri di mata kuliah Compiler Engineering (teknik kompilasi). Berurutan, berhubungan, tetap fokus dan mendalam, itu mungkin resep desain kurikulum yang diajarkan.

Pada saat tingkat 2 dan 3 itulah sang mahasiswa diarahkan untuk menuju arah kompetensi sesuai dengan yang diinginkan. Dan yang pasti, hampir seluruh mahasiswa mendapatkan “bekal” dan “skill” yang relatif sepadan untuk bergerak. Mahasiswa yang ingin melanjutkan karier menjadi seorang Programmer, disiapkan mata kuliah Struktur Data, Algorithm, Programming Language, Compiler Engineering, Automaton dan Formal Language. Yang ingin jadi Software Engineer, harus fokus mengikuti mata kuliah Software Engineering, Industrial Software Engineering, System Development Engineering, Software Project Management, dsb. Yang ingin berkarier di perusahaan animasi dan grafis, harus serius mengikuti mata kuliah Computer Graphics, Image Processing, CAD Enginering, Pattern Recognition, dsb. Yang siap bergelut di perusahaan Telekomunikasi, harus melahap mata kuliah Information Theory, Communication System, Signal Processing, Speech Processing, dsb. Yang ingin ke arah Hardware, harus menguasai mata kuliah Electronic Circuits, Electronic Devices, Computer Architecture, Quantum Mechanics, Logic Circuits, dsb. Bagaimana dengan yang tertarik dengan Kecerdasan Buatan? harus mau berpusing-pusing ria di mata kuliah Artificial Intelligence, Expert System, Knowledge Engineering, Neural Network, dsb.

Rencana pengembangan karier ini semakin matang dan tertata ketika masuk ke tingkat 4, seluruh mahasiswa harus menjalani 1 tahun terakhir di grup penelitian yang dipimpin oleh seorang professor. Penelitian dan thesis (tugas akhir) sifatnya wajib dilakukan, untuk memperdalam dan memahami implementasi riil dari bidang ilmu peminatan yang direncanakan dan dicita-citakan sang mahasiswa. Apa itu bidang ilmu peminatan? Ya bidang yang sudah saya sebut diatas tadi. Programming, Software Engineering, Communication System, Computer Graphics, Artificial Intelligence, Computer Hardware, Networking, dsb. Masing-masing professor dengan grup penelitian biasanya fokus di satu atau dua bidang ilmu peminatan, termasuk didalamnya penelitian yang dilakukan dan mata kuliah yang diajar. Tidak ada seorang professor Software Engineering yang mendapat jatah mengajar mata kuliah Computer Graphics, karena memang bukan bidangnya. Kalaupun bisa memberikan, tentu tidak menguasai the root problem (akar permasalahan) yang ada di bidang tersebut, ini yang membuat mata kuliah jadi hambar, tidak mendalam dan mahasiswa jadi bingung memahami apa hakekat dari mata kuliah tersebut.

Jadi masing-masing mata kuliah ada arah, ada desain yang ingin dicapai, dan ini yang dijelaskan di awal perkuliahan. Tidak ada kegiatan OSPEK yang berisi penyiksaan dan penghinaan, tidak ada hura-hura pesta masuk perguruan tinggi, yang ada adalah penjelasan tentang kurikulum secara komprehensif. Sang mahasiswa ingin menjadi apa, tertarik di bidang apa, itu yang dibidik dan diarahkan oleh universitas dengan penjelasan desain kurikulum beserta dengan mata kuliah apa yang sebaiknya diambil oleh sang mahasiswa. Jumlah kredit untuk syarat kelulusan S1 juga tidak sepadat Indonesia, hanya sekitar 118, sudah termasuk didalamnya penelitian dan tugas akhir yang dihitung sekitar 10-12 kredit. Jadi total kredit dari mata kuliah hanya sekitar 106. Kelonggaran waktu yang ada dapat kita gunakan untuk kerja parttime di perusahaan-perusahaan IT, mengasah kemampuan jadi programmer, network engineer, admin, software designer, dsb. Mahasiswa mendapatkan konsep di kelas, dan mematangkan diri di lapangan, tempat kita menggarap project maupun tempat kerja. Itu adalah strategi penting dalam mengkader para computer scientist.

Universitas di Indonesia yang membuka fakultas/jurusan Ilmu Komputer dan Teknik Informatika harus berbenah. Tidak hanya berambisi mengejar jumlah murid karena aji mumpung (mumpung TI sedang booming, terima mahasiswa sebanyak banyaknya), tapi juga harus bertanggungjawab terhadap figur dan karakter hasil didikan dan lulusan universitasnya. Untuk para calon mahasiswa, pilihlah Universitas yang memiliki kurikulum dan dosen pengajar yang baik. Jangan memilih jurusan karena trend, ikut-ikutan teman, atau alasan tidak logis lainnya. Pilihlah karena memang kita berminat untuk berkarier di bidang tersebut.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: