Bahasa Pemrograman Terpopuler

oleh: Stephanus Eko Wahyudi, S.T. (Ubaya), MMM (Monash-Melbourne), dosen Jurusan Teknik Informatika Universitas Surabaya

Perkembangan dunia Information and Communication Technology  (ICT) atau dikenal di Indonesia dengan Teknologi Informasi dan Komunikasi  (TIK) tak pelak lagi membuat kesempatan berkarir dan mengembangkan potensi diri pada bidang ini begitu luasnya. Bisa dikata pada saat ini tidak seorangpun di dunia yang menguasai secara keseluruhan semua teknologi yang ada, dengan ketersediaan beragam perangkat keras (hardware) dan perangkat lunak (software).

Penggunaan perangkat keras dan lunak di tingkat pemerintahan, enterprise/corporate, maupun individu begitu bervariasinya. Baik dari sisi vendor, spesifikasi, operating system, maupun dari fitur yang ditawarkan. Berkembangnya teknologi mobile computing dengan berbagai perangkatnya juga nampak mendonimasi pasar ICT pada beberapa tahun terakhir. Persaingan antara vendor besar perangkat mobile mendorong perang mobile OS yang sekarang didominasi Apple IOS dan Android.

Bahasa Pemrograman apa yang seyogyanya dipelajari saat ini? Apakah bahasa pemrograman tersebut akan dibutuhkan di dunia kerja pada masa mendatang? Mungkin itu adalah serangkaian pertanyaan yang mungkin muncul di kepala pada saat akan memutuskan untuk mempelajari komputer, bahkan apabila akan masuk ke salah satu jurusan yang ada di perguruan tinggi. Tulisan ini akan mencoba untuk mengupas mengenai beberapa bahasa pemrograman yang saat ini sedang populer dan potensinya di masa depan.

Menurut Tiobe, salah satu lembaga riset yang telah beberapa tahun berupaya membuat peringkat bahasa pemrograman populer dunia yang diwujudkan dalam bentuk TIOBE Programming Community Index edisi March 2013, Java dan C masih menjadi bahasa pemrograman yang paling populer pada posisi 1 dan posisi 2. Berdasarkan lembaga riset yang sama, Objective-C melonjak beberapa peringkat ke posisi 3. Selaras dengan itu, Sourceforge sebagai salah satu situs online populer yang menjadi sumber berbagai software open source juga merilis The Language Popularity Index yang pada edisi April 2013 juga menempatkan ketiga bahasa pemrograman pada posisi 1-3. Daftar lain yang dikeluarkan PYPL dalam daftar PYPL PopularitY of Programming Language index masih menempatkan Java pada peringkat 1, sedangkan PHP pada yang pada pemeringkatan lain menampati posisi ke 4-10, pada peringkat ini menempati peringkat ke-2.

TIOBE Programming Community Index edisi March 2013

TIOBE Programming Community Index edisi March 2013

SourceForge The Language Popularity Index April 2013

SourceForge The Language Popularity Index April 2013

PYPL PopularitY of Programming Language index

PYPL PopularitY of Programming Language index

Berdasarkan lowongan pekerjaan, situs Statistic Brain mengumpulkan data dari berbagai situs iklan populer di dunia, dan menampilkan daftar programmer yang paling banyak dicari. Tidak mengherankan penempatan PHP dan SQL pada urutan pertama, sesuai dengan kebutuhan untuk pengembangan situs web yang sedemikian besarnya.

Statistic Brain

 

Dari berbagai data yang tersebut, dapat disimpulkan bahwa Java merupakan bahasa pemrograman yang paling populer saat ini. Aplikasi yang dikembangkan dengan Java yang bersifat cross platform – bisa dijalankan di berbagai OS – nampaknya masih menjadi solusi terhadap kemunculan berbagai OS di dunia, baik mobile maupun PC. Pemanfaatan Java untuk mengembangkan aplikasi berbasis Android juga menjadi salah satu yang memantapkan Java di posisi 1.

Bahasa lain yang tidak kalah populernya adalah C, yang bisa dikatakan sebagai salah satu bahasa pemrograman induk dari berbagai bahasa pemrograman lain. Sebagai bahasa pemrograman induk, sebagian besar bahasa pemrograman lain memiliki syntax yang serupa dengan bahasa ini. Oleh karena itu, banyak yang beranggapan, belajar bahasa pemrograman C merupakan kunci untuk mempelajari bahasa lain.

Perkembangan pemanfaatan iDevice yang dikeluarkan Apple dengan berbagai devicenya seperti iPod, iPhone, iPad, Mac, dan berbagai produk lainnya menjadi salah satu faktor pendorong kepopuleran Objective-C. Model distribusi apps- sebutan program untuk mobile device yang dipopulerkan Apple – melalui AppStore nampaknya menggiurkan banyak orang untuk meraih keuntungan dari penjualan Apps.

Bahasa pemrograman lain yang terlihat tidak terlalu mendominasi pada daftar peringkat bahasa pemrograman populer namun ternyata banyak dibutuhkan di dunia kerja adalah Bahasa PHP. Bahasa ini nampaknya merupakan bahasa wajib yang juga harus dipelajari, seiring dengan perkembangan dunia maya. Hampir seluruh web hosting di dunia support PHP dan MySQL, paduan serasi yang memungkinkan sebuah situs web untuk tampil dinamis.

 

Kesimpulan

Dari tulisan ini terlihat beberapa bahasa pemrograman yang paling populer yang harus dipelajari, yaitu: Java, C, Objective C, dan tentunya PHP. Tentunya bekal penguasaan bahasa pemrograman tersebut akan sangat dibutuhkan di dunia kerja masa kini sampai beberapa tahun ke depan.

Namun demikian, bukan berarti bahasa pemrograman lain tidak patut untuk dipelajari. Justru sebagaian orang berpendapat, dengan mempelajari bahasa pemrograman lain yang kurang populer, maka orang tersebut akan menjadi expertise yang langka, yang sangat diputuhkan pula di dunia industri yang spesifik. Jadi sebaiknya tidak menutup diri pula terhadap bahasa pemrograman lain.

Jurusan Teknik Informatika Universitas Surabaya sendiri selalu melakukan pengembangan kurikulumnya sesuai dengan perkembangan jaman. Apabila ingin mempelajari berbagai teknologi maupun bahasa pemrograman tersebut, mungkin jurusan ini merupakan salah satu tempat yang tepat.

 

Referensi:

http://www.tiobe.com/index.php/content/paperinfo/tpci/

http://lang-index.sourceforge.net/

https://sites.google.com/site/pydatalog/pypl/PyPL-PopularitY-of-Programming-Language

http://www.statisticbrain.com/computer-programming-language-statistics/

Database SQL Server

Penjelasan Umum.SQLserver2008

SQL Server adalah sebuah database relasional yang dirancang untuk mendukung aplikasi dengan arsitektur client/server. Database pada SQL server terletak pada komputer pusat yang disebut server, dan informasi yang digunakan bersama-sama oleh beberapa user yang menjalankan aplikasi di dalam komputer lokalnya disebut dengan client. Arsitektur semacam ini memberikan integritas data yang tinggi, karena semua user bekerja dengan informasi yang sama. Arsitektur client/server sangat mengurangi lalulintas network, karena ia hanya memberikan data yang diminta oleh user saja. Hal ini membantu tugas-tugas pemeliharaan, seerti misalnya mem-backup dan merestore data, menjadi lebih mudah dilakukan karena data terletak hanya pada satu tempat.

Database SQL Server dibagi kedalam beberapa komponen logikal, seperti misalnya tabel, view, dan elemen-elemen lain yang terlihat oleh user. Elemen-elemen ini secara fisik disimpan di dalam dua atau lebih file di dalam disk. Format file atau lokasi dimana elemen-elemen logik ini ditulis, tidak diketahui oleh user sistem.

Server bisa mengandung beberapa database yang digunakan oleh beberapa user. Sebuah perusahaan bisa memiliki satu database yang digunakan oleh banyak user pada beberapa departemen, atau perusahaan tersebut bisa memiliki beberapa database yang hanya digunakan khusus oleh beberapa user tertentu dalam masing-masing departemen.

Komponen SQL Server

Komponen-komponen kunci SQL Server adalah:

  1. Database; Mengandung objek-objek yang digunakan untuk mewakili, menyimpan dan mengakses data. Database merupakan sekumpulan tabel, view, indeks, trigger, prosedur, dan objek-objek lainnya.
  2. Tabel; Tabel adalah inti dari sebuah database. Menyimpan baris-baris atau record-record data dan hubungannya dengan tabel lain. Setiap baris mewakili record dan setiap kolom adalah atribute atau field. Setiap field mengandung satu jenis informasi.
  3. Database diagram; SQL Server mampu menghasilkan diagram database. Diagram ini adalah representasi grafik dari tabel, indeks dan view yang disimpan dalam database dan bisa dimanipulasi dengan teknik drag-and-drop dan interaksi dengan kotak dialog. Dengan cara ini, beberapa tugas bisa dilakukan tanpa perlu menggunakan bahasa Transact-SQL, seperti misalnya mengubah karakteristik fisik dari database atau tabel-tabelnya.
  4. Index; Index adalah file khusus tambahan yang bekerja sama dengan tabel dan bertujuan untuk meningkatkan kecepatan akses dari baris-baris tabel.
  5. View; Menyediakan cara melihat data yang berbeda di dalam satu atau lebih tabel.
  6. Stored Procedure; Stored procedure adalah program-program Transact-SQL yang disimpan di dalam server yang menjalankan tugas-tugas yang telah ditentukan. Data di dalam database bisa diakses hanya melalui eksekusi perintah Transact-SQL. Sewaktu membuat aplikasi untuk berfungsi sebagai antarmuka database, pengembang bisa memilih untuk membuat program SQL yang disimpan secara lokal dan dikirimkan ke server untuk dieksekusi di sana, atau membuat dan memelihara program di dalam server itu sendiri, di dalam prosedur-prosedur tersimpan yang bisa dipicu oleh program di dalam komputer client. Prosedur tersimpan bisa menerima parameter (nilai yang dikirim kepada prosedur) untuk memprosesnya. Tetapi tidak seperti fungsi, prosedur tidak akan mengembalikan nilai apapun. Setelah prosedur dibuat, ia bisa digunakan aplikasi apa saja yang mampu mengakses database.
  7. Trigger; Trigger adalah sebuah jenis prosedur tersimpan khusus yang secara otomatis dijalankan apabila operasi tertentu dilakukan dalam tabel, seperti misalnya eksekusi perintah SQL INSERT, UPDATE, atau DELETE.
  8. Full-Tet Indexes; Indeks khusus yang membuat pencarian menjadi lebih mudah di dalam kolom-kolom tipe data Varchar dan Text.

Virtualisasi Server Berbasis Hyper-V untuk Enterprise

Lutfie Royan – Infokomputer

virtualisasiVirtualisasi Server telah berkembang dan menjadi bagian penting infrastruktur teknologi informasi modern pada perusahaan. Virtualisasi Server memungkinkan server dibuat secara virtual dan dapat segera digunakan. Pengadaan server berbentuk virtual memberikan kemudahan bagi perusahaan dalam menunjang bisnis. Suatu sistem dapat segera diinstalasi dan digunakan untuk keperluan bisnis.

Disamping itu departemen teknologi informasi dapat segera menyiapkan sistem yang diperlukan. Tanpa perlu menyiapkan anggaran yang tinggi serta tanpa menunggu pembelian server baru yang bisa memakan waktu cukup lama. Bahkan bila diperlukan, masing-masing departemen dapat menyiapkan server virtual sendiri. Tanpa perlu tergantung pada departemen teknologi informasi.

Teknologi virtualisasi dikembangkan untuk lebih mengoptimalkan server. Jika sebuah server hanya digunakan untuk aplikasi tertentu, maka kinerja prosesor dan memori sebagain besar tidak dimanfaatkan secara maksimal. Disamping itu dibutuhkan lebih banyak server untuk masing-masing aplikasi. Efek dari server dalam jumlah banyak, dibutuhkan ruangan dan energi listrik yang lebih besar.

Adanya teknologi virtualisasi membuat penggunaan server menjadi optimal. Server fisik dijadikan sebagai host dan server virtual dijalankan diatas server fisik. Server virtual dikenal dengan nama virtual machine. Tidak hanya satu atau dua server virtual, namun bisa lebih banyak. Tergantung dari spesifikasi server fisik dan teknologi virtualisasi yang digunakan.

Karena menjalankan server virtual maka server fisik harus berbagi pakai dalam penggunaan perangkat keras. Terutama penggunaan prosesor, memori dan kartu network. Oleh karena itu dibutuhkan prosesor yang memiliki kemampuan untuk melakukan proses virtualisasi. Saat ini prosesor modern yang digunakan untuk server sudah mendukung teknologi virtualisasi.

Manfaat yang cukup besar dari teknologi virtualisasi membuat perusahaan mulai mengembangkan infrastruktur berbasis virtualisasi. Sebelum melakukan adopsi teknologi ini, perusahaan perlu memperhatikan langkah-langkah yang dibutuhkan. Agar pemanfaatan teknologi virtualisasi sesuai dengan kebutuhan dan bisa lebih optimal.

“Kebutuhan akan pelatihan virtualisasi semakin meningkat. Mulai dari level dasar sampai level advance. Rupanya saat ini banyak perusahaan yang mulai mencoba untuk menerapkan teknologi virtualisasi. Ini menunjukan semakin berkembangnya teknologi virtualisasi di Indonesia”, menurut Aprizon, salah seorang Microsoft Certified Trainer (MCT) di bidang IT infrastruktur.

Arsitektur Hyper-V

Microsoft Hyper-V adalah teknologi virtualisasi yang dibesut oleh Microsoft. Bermula pembelian Virtual PC dari Connectix dan diikuti peluncuran Microsoft Virtual Server 2005. Virtualisasi terus dikembangkan dan saat ini sudah berganti nama menjadi Hyper-V.

Hyper-V adalah virtualisasi berbasis hypervisor. Sedang hypervisor dikenal juga sebagai virtual machine manager (VMM). VMM sendiri adalah salah satu dari teknik hardware virtualization yang memungkinkan beberapa sistem operasi (dikenal sebagai guest) yang berjalan diatas sebuah host komputer. Guest pada dasarnya akan berbentuk sebagai file.

Ada dua model virtualisasi server yang disediakan oleh Microsoft. Yaitu :

– Hyper-V Server 2008 R2 yang berjalan langsung diatas perangkat keras (standalone). Pada model ini hypervisor langsung berinteraksi dengan perangkat keras. Sistem operasi yang berperan sebagai guest berjalan diatas hypervisor.

– Hyper-V yang merupakan role atau bagian dari Microsoft Windows Server 2008 R2 (as a role). Pada model ini hypervisor menjadi bagian dari sistem operasi host. Sehingga sistem operasi host berfungsi sebagai perantara antara hypervisor dan perangkat keras.

Agar lebih mudah dipahami, kedua model tersebut dapat dilihat pada gambar berikut :

clip_image002

Gambar 1. Model Hyper-V yang digunakan Microsoft.

Sedangkan secara desain dan arsitektur, Hyper-V bisa digambarkan sebagai berikut :

clip_image004

Gambar 2. Arsitektur Hyper-V

Pada gambar terlihat bahwa Windows Hypervisor adalah jembatan penghubung saat hyper-v berkomunikasi dengan perangkat keras. Tentu saja perangkat keras yang didesain dan sudah disertifikasi untuk berjalan pada sistem operasi Windows Server.

Hyper-V melakukan manajemen virtual machine dengan melakukan partisi perangkat keras. Disebut virtual partition. Virtual partition terdiri dari parent partition dan child partition. Parent partition tempat Windows Server berada. Sedangkan child partition bisa diisi dengan sistem operasi lain.

Pada parent partition terdapat independent hardware vendor (IHV) yang mengatur driver untuk perangkat keras. Selain itu ada virtual infrastructure driver (VID) untuk mengatur virtualisasi memori dan hubungan dengan child partition.

Bagian penting lainnya adalah virtual service provider (VSP) yang mengatur proses Input/Output (I/O). VSP akan berkomunikasi dengan virtual service client (VSC) yang berada di child partition. Komunikasi ini dijembatani oleh VMBus.

Kebutuhan sistem dan spesifikasi

Untuk mengimplementasikan virtualisasi server berbasis Microsoft Hyper-V, dibutuhkan persyaratan sebagai berikut :

– Sistem operasi yang berfungsi sebagai Host. Gunakan sistem operasi terbaru seperti Microsoft Windows Server 2008 R2 SP1. Bisa menggunakan instalasi secara lengkap atau hanya menggunakan edisi Core.

– Prosesor yang digunakan adalah x86-64 (prosesor 64 bit)

– Prosesor mempunyai kemampuan hardware assisted virtualization. Jika menggunakan prosesor intel dikenal dengan istilah intel-vt sedangkan untuk  prosesor AMD dikenal dengan AMD-V.

– Memori minimum untuk host 2 GB

– Sistem operasi guest :

+ Hyper-V mendukung sampai 4 prosesor

+Mendukung sampai 384 VM per sistem

+ Mendukung sistem operasi 32-bit dan 64-bit

+ Sistem operasi yang didukung meliputi sistem operasi berbasis windows serta beberapa sistem operasi linux seperti SUSE Linux Enterprise, RedHat    Enterprise serta CentOS.

– Gunakan Storage Area Network (SAN) sebagai media penyimpanan virtual machine.

Manajemen Hyper-V

Pada dasarnya hyper-v sudah menyediakan perangkat manajemen untuk mengelola server virtual yang diimplementasikan. Aplikasi yang disediakan sudah cukup untuk mengelola server virtual jika perusahaan hanya mengimplementasikan dalam jumlah yang tidak terlalu banyak. Aplikasi ini dikenal dengan nama Hyper-V Manager dan terintegrasi pada Windows Server 2008 R2.

Pada Hyper-V manager, bisa dilakukan pengaturan core prosesor yang digunakan, jumlah memori, ukuran harddisk, koneksi ke CD/DVDRom dan lain-lain. Disamping itu disediakan juga fasilitas untuk mengatur perilaku server virtual pada saat Host melakukan restart atau shutdown.

clip_image006

Gambar 3. Hyper-V management

Selain menyediakan aplikasi manajemen yang standard, Microsoft menyediakan aplikasi manajemen yang lebih lengkap. Yaitu Microsoft System Center Virtual Machine Manager (SCVMM) . Aplikasi ini termasuk dalam keluarga System Center. Digunakan untuk melakukan manajemen server virtual dalam skala besar. Bisa digunakan untuk mengelola beberapa host dan ditampilkan dalam satu aplikasi.

Keunggulan lain adalah kemampuan untuk membuat template server virtual. Bisa juga digunakan untuk melakukan migrasi dari satu host server ke host server lain. Bila diperlukan SCVMM dapat melakukan konversi dari mesin fisik menjadi mesin virtual.

clip_image008

Gambar 4. Microsoft System Center Virtual Machine Manager

Menurut Aries Triwahyudi, product marketing manager Microsoft, mengatakan “Kedepannya teknologi manajemen akan semakin lengkap. Semua dimasukan kedalam keluarga System Center. Mulai dari kebutuhan firewall, backup data, manajemen IT infrastruktur bahkan sampai provisioning untuk produk berbasis virtualisasi”.

Proses implementasi Hyper-V

Untuk melakukan implementasi hyper-v pada perusahaan diperlukan langkah-langkah yang tepat. Diagram berikut adalah alur kerja sebelum melakukan implementasi teknologi virtualisasi. Diagram ini merupakan panduan dari Microsoft dalam melakukan implementasi infrastruktur untuk virtualisasi.

clip_image010

Gambar 5. Alur kerja implementasi teknologi virtualisasi.

Penjelasan dari gambar tersebut adalah sebagai berikut :

1. Tentukan batasan Virtualization

Apa yang akan dicapai dengan virtualisasi dan sesuaikan dengan kondisi infrastruktur yang ada. Selain itu integrasikan dengan perencanaan bisnis perusahaan.

2. Daftar beban kerja server

Buat daftar kondisi beban kerja dari server dan kemungkinan untuk dirubah ke virtualisasi. Perhatikan juga aplikasi yang berjalan pada komputer pengguna yang membutuhkan koneksi ke server.

3. Metode Backup dan Fault-Tolerance

Pilih metode backup yang palling baik untuk aplikasi yang berjalan pada server. Misal untuk Microsoft Exchange atau aplikasi database. Juga tentukan backup untuk masing-masing server virtual.

4. Rangkum dan analisis kebutuhan

Analisis secara mendalam apa yang menjadi kebutuhan dan beban kerja untuk masing-masing server.

5. Rancang dan desain Virtualization Host Hardware

Tentukan tempat terbaik untuk memasang server. Jika perusahaan mempunyai banyak cabang yang terletak dibeberapa kota, tentu perlu lebih hati-hati untuk menentukan lokasi.

6. Lakukan proses pemetaan dari kebutuhan beban kerja server menjadi virtualisasi

Dari daftar yang sudah dibuat, tentukan server yang bisa diubah menjadi Host dan tentukan server yang akan diubah menjadi server virtual.

7. Desain Backup dan Fault Tolerance

Lakukan desain backup untuk menghindari kerugian bisnis yang mungkin timbul.

8. Desain Storage Infrastructure

Rancang dan gunakan media penyimpanan yang sesuai dan memiliki performa terbaik untuk keperluan virtualisasi.

9. Desain Network Infrastructure

Desain yang baik akan menghindari kemungkinan terjadi bottleneck pada jaringan komputer perusahaan.

Kesimpulan

Hyper-V dapat menjadi tulang punggung bisnis bagi perusahaan. Adanya hyper-v akan membantu perusahaan dalam melakukan penghematan dan pemanfaatan yang optimal server-server yang sudah diinvestasikan.

Microsoft Hyper-V memiliki solusi yang lengkap. Mulai dari model hyper-v sampai untuk melakukan manajemen. Piranti manajemen juga bisa digunakan untuk mengelola beberapa host sekaligus. Jadi dimungkinkan untuk melakukan manajemen dari satu tempat atau lokasi saja.

Virtualisasi

Teknologi Virtualisasi yang sudah berkembang pesat memunculkan peluang-peluang baru. Perusahaan raksasa IT berusaha membangun platform yang terbaik untuk memanfaatkan teknologi virtualisasi ini.

Adanya virtualisasi memicu munculnya jargon marketing tentang cloud computing. Dimana gagasan ini berusaha untuk memanfaatkan semaksimal mungkin kemampuan internet dengan teknologi IT yang lebih baru. Muncul layanan baru berbasis sewa (hosted). Baik menyewakan sistem operasi virtual, aplikasi maupun storage.

Perkembangan tersebut memunculkan istilah Private Cloud dan Public Cloud. Pada Private Cloud memiliki infrastruktur sendiri, sedangkan pada Public Cloud infrastruktur digunakan bersama-sama.

Microsoft mengeluarkan platform yang mendukung layanan Cloud Computing. Platform tersebut dikenal dengan istilah Microsoft Cloud Computing Platform.

Platform yang dikembangkan oleh Microsoft bertujuan untuk menyediakan infrastruktur dan layanan siap pakai. Infrastruktur yang dikembangkan mengacu pada Dynamic IT. Infrastruktur yang bisa dinamis mengikuti perkembangan bisnis.

Untuk layanan infrastruktur, Microsoft menggunakan Hyper-V sebagai tulang punggung untuk virtualisasi. Didalamnya ada layanan server virtualization, desktop virtualization, virtualization management serta cloud computing.

Server virtualization menggunakan Hyper-V sebagai pondasi utama.

Desktop virtualization menerapkan pembagian pada operating system virtualization, application virtualization serta data dan user setting.

Virtualization Management menggunakan System Center Virtual Machine Manager yang dikombinasikan dengan System Center Operation Manager dan System Center Data Protection Manager.  Digunakan untuk mengelola server.

Cloud Computing menawarkan layanan Windows Azure untuk public cloud serta private cloud berbasis teknologi virtualisasi yanga ada. Layanan private dikelola melalui Dynamic Data Center Toolkit.1

Pada training akademi kali ini IT Pro berpengalaman dalam virtualisasi akan belajar bagaimana memanfaatkan Hyper-V untuk melakukan tugas-tugas penting dalam Server 2012 platform Windows. Kursus-kursus pelatihan Microsoft juga mencakup alat untuk VMWare integrasi dan migrasi, serta fitur dan kemampuan dalam Windows Server 2012 yang memungkinkan pelanggan untuk mengambil keuntungan dari penghematan biaya virtualisasi dan membuat penggunaan optimal dari investasi hardware server, termasuk Hidup Migrasi dan kemampuan untuk menjalankan mesin virtual yang lebih besar pada host fisik.Materi kursus ada disini

Modul

Introduction to Hyper-V Jump Start

Microsoft Virtualization for VMware Professionals Jump Start