Showing posts with label pemprograman dasar. Show all posts
Showing posts with label pemprograman dasar. Show all posts

Pengenalan Gitlab : Pengertian, Sejarah, Kelebihan dan Kekurangan

7:48 AM Add Comment
GitLab


Apa Itu GitLab?

GitLab adalah sebuah platform yang memungkinkan Anda untuk mengelola repositori Git, yaitu tempat penyimpanan kode sumber yang dapat dilacak perubahannya. GitLab menawarkan berbagai fitur yang membantu Anda dalam pengembangan perangkat lunak, seperti pelacakan masalah, wiki, integrasi berkelanjutan, dan lain-lain. GitLab juga memiliki sifat sumber terbuka, yang berarti Anda dapat melihat, mengubah, dan mendistribusikan kode sumber GitLab sesuai dengan lisensi yang digunakan.


Sejarah GitLab

GitLab pertama kali dibuat oleh Dmitriy Zaporozhets dan Valery Sizov dari Ukraina pada tahun 2011. Mereka mengembangkan GitLab sebagai alternatif dari GitHub, sebuah layanan populer yang juga menyediakan akses remote ke repositori Git. Namun, GitHub memiliki beberapa keterbatasan, seperti tidak menyediakan repositori pribadi secara gratis, dan tidak dapat diinstal di server sendiri.

Pada tahun 2013, GitLab mulai membagi produknya menjadi dua versi, yaitu GitLab Community Edition (CE) dan GitLab Enterprise Edition (EE). GitLab CE adalah versi gratis yang dapat digunakan oleh siapa saja, sedangkan GitLab EE adalah versi berbayar yang memiliki fitur tambahan untuk organisasi besar. Pada tahun yang sama, GitLab mendapatkan pendanaan awal sebesar 1,5 juta dolar AS dari investor.

Sejak itu, GitLab terus berkembang dan mendapatkan banyak pengguna dan kontributor dari seluruh dunia. Beberapa perusahaan dan organisasi ternama yang menggunakan GitLab antara lain adalah NASA, IBM, Sony, NVIDIA, The Walt Disney Company, Siemens, dan lain-lain. GitLab juga mengakuisisi beberapa perusahaan dan produk lain yang berkaitan dengan Git, seperti Gitorious, Gitter, Mattermost, dan lain-lain.

Baca juga Apa Itu GitHub? Fungsi, Cara Kerja, dan Manfaatnya bagi Developer


Kelebihan dan Kekurangan GitLab

GitLab memiliki beberapa kelebihan dan kekurangan yang dapat Anda pertimbangkan sebelum memilihnya sebagai platform pengembangan perangkat lunak Anda. Berikut adalah beberapa di antaranya:


Kelebihan GitLab

  • GitLab menyediakan repositori pribadi dan publik tanpa batas secara gratis, sehingga Anda dapat menyimpan kode sumber Anda dengan aman dan mudah.
  • GitLab memiliki antarmuka web yang ramah pengguna dan mudah digunakan, yang mempercepat kerja Anda dengan Git.
  • GitLab memiliki fitur integrasi berkelanjutan (CI) yang terintegrasi dengan GitLab, yang memungkinkan Anda untuk melakukan pengujian, penyebaran, dan pemantauan kode sumber Anda secara otomatis.
  • GitLab memiliki fitur wiki yang memudahkan Anda untuk membuat dan mengelola dokumentasi proyek Anda.
  • GitLab memiliki fitur pelacakan masalah yang memungkinkan Anda untuk melaporkan, mengelola, dan menyelesaikan masalah yang terkait dengan proyek Anda.
  • GitLab memiliki fitur sosial yang memungkinkan Anda untuk berkolaborasi dengan pengguna dan kontributor lain, seperti komentar, suka, bintang, cabang, dan lain-lain.

Kekurangan GitLab

  • GitLab membutuhkan koneksi internet atau jaringan LAN untuk dapat mengakses repositori Git yang di-hosting di GitLab, sehingga Anda tidak dapat bekerja secara offline.
  • GitLab tidak secepat GitHub dalam hal mendorong dan menarik repositori, karena GitLab memiliki lebih banyak fitur yang membutuhkan sumber daya.
  • GitLab memiliki antarmuka web yang terkadang lambat saat berpindah dari satu halaman ke halaman lainnya, karena GitLab memiliki banyak fitur yang perlu dimuat.
  • GitLab memiliki kurva belajar yang cukup tinggi, terutama bagi pengguna yang belum terbiasa dengan Git dan fitur-fitur GitLab.

Kesimpulan

GitLab adalah sebuah platform yang memungkinkan Anda untuk mengelola repositori Git dan fitur-fitur lain yang membantu Anda dalam pengembangan perangkat lunak. GitLab memiliki kelebihan dan kekurangan yang dapat Anda pertimbangkan sebelum memilihnya sebagai platform pengembangan perangkat lunak Anda. GitLab adalah pilihan yang baik bagi Anda yang ingin memiliki kontrol penuh atas kode sumber Anda dan berkolaborasi dengan pengguna dan kontributor lain. 

Apa Itu GitHub? Fungsi, Cara Kerja, dan Manfaatnya bagi Developer

10:00 PM Add Comment
Apa itu GitHub ?

1. Pengertian GitHub

GitHub adalah sebuah platform khusus untuk para pengembang yang berfungsi sebagai sistem manajemen project, sistem versioning code, dan platform jaringan sosial. Platform ini memudahkan pengembang dalam mengembangkan suatu karya dan membantu tim project dalam menyusun suatu folder yang berisikan file terkait pemrograman. GitHub juga memberikan layanan cloud untuk menyimpan dan mengelola project/repository git secara online, sehingga memungkinkan beberapa pengembang untuk mengerjakan satu proyek pada saat yang sama dan mengurangi risiko pekerjaan ganda atau konflik.

Baca juga Apa itu DevOps


2. Fungsi dan mafaat GiHub

Beberapa fungsi GitHub untuk para pengembang antara lain:

  • Memudahkan kolaborasi pengerjaan project dengan fitur distributed version control yang memungkinkan semua pengembang atau anggota tim untuk mengakses dan mengelola kode di satu tempat serta fitur project manajemen berbentuk papan kanban.
  • Mencegah perubahan kode yang dapat merusak kode asli dengan fitur Branch, yang memungkinkan pengembang untuk membuat "cabang" dari kode utama project, sehingga dapat melakukan perubahan pada kode tersebut tanpa berdampak langsung pada kode utama.
  • Menjadi portofolio bagi pengembang dengan memungkinkan pengembang untuk menampilkan project atau kode yang mereka kerjakan secara publik, sehingga dapat menunjukkan kemampuan mereka sebagai seorang profesional dan membantu calon klien atau perusahaan incaran untuk melihat karya dan kontribusi mereka ke berbagai project sesuai keahlian mereka.


Untuk menggunakan GitHub, pengembang dapat membangun kode, melacak perubahan, dan berinovasi solusi untuk masalah yang mungkin timbul selama proses pengembangan situs secara bersamaan. GitHub bekerja dengan membuat repositori, yaitu ruang penyimpanan tempat proyek berada. Repositori dapat disimpan secara lokal dalam folder di komputer atau dalam ruang penyimpanan di GitHub atau host online lainnya. Setiap anggota tim dapat mengakses, melakukan perubahan, dan mengambil tindakan lain untuk file atau proyek yang disimpan dalam repositori.

Baca juga Clean Code: buku wajib untuk programmer

Dengan begitu, GitHub memungkinkan semua pengembang dapat tetap terhubung dan bekerja bersama-sama meskipun berada di lokasi yang berbeda, waktu kerja menjadi lebih efisien, dapat diawasi secara real-time, dan meningkatkan keamanan data.


3. Kesimpulan

GitHub merupakan platform khusus untuk para pengembang yang memudahkan pengembangan suatu karya dan kolaborasi dalam pembuatan software melalui cloud. GitHub juga dapat menjadi media sosial yang memiliki postingan positif tentang ilmu pemrograman.

Apa itu CDN ? berikut adalah penjelasan lengkapnya

8:46 PM Add Comment
Content Delivery Network


CDN (Content Delivery Network) adalah infrastruktur jaringan yang digunakan untuk mengirimkan konten digital ke pengguna di seluruh dunia dengan cepat dan efisien. Dalam artikel ini, kita akan membahas pengertian, fungsi, kelebihan, kekurangan, dan cara kerja dari CDN.


Pengertian CDN

CDN adalah infrastruktur jaringan yang terdiri dari server dan data center yang tersebar di seluruh dunia. Tujuan utama CDN adalah untuk mempercepat pengiriman konten digital seperti gambar, video, audio, dan teks ke pengguna di seluruh dunia dengan mengurangi jarak fisik antara server dan pengguna.


Fungsi CDN

Fungsi utama dari CDN adalah untuk mempercepat pengiriman konten digital ke pengguna di seluruh dunia. CDN bekerja dengan menempatkan konten digital di server yang tersebar di seluruh dunia. Ketika pengguna meminta konten digital, CDN akan mengirimkan konten dari server yang paling dekat dengan pengguna. Dengan cara ini, waktu respon menjadi lebih cepat, dan pengguna tidak perlu menunggu terlalu lama untuk memuat konten digital.

Baca juga Pengertian IoT dan contoh dalam kehidupan sehari - hari


Kelebihan dan kekurangan CDN

berikut adalah kelebihan dan kekurangan dari CDN :


1. Kelebihan CDN

Ada beberapa kelebihan menggunakan CDN, di antaranya:

  • Mempercepat waktu muat: CDN dapat mempercepat waktu muat halaman web dan konten digital lainnya dengan menempatkan konten di server terdekat dengan pengguna.
  • Menurunkan biaya bandwidth: Dengan menggunakan CDN, biaya bandwidth dapat diturunkan karena konten digital tidak perlu dikirim dari server pusat.
  • Mengurangi beban server: Dengan menggunakan CDN, beban server dapat dikurangi karena konten digital disajikan dari server CDN yang tersebar di seluruh dunia.
  • Meningkatkan keandalan: Dengan menggunakan CDN, konten digital dapat disajikan dari server CDN yang berbeda jika server CDN yang satu mengalami gangguan.


2. Kekurangan CDN

Meskipun CDN memiliki beberapa kelebihan, namun ada juga kekurangan yang perlu diperhatikan, di antaranya:

  • Biaya: Penggunaan CDN memerlukan biaya yang tidak murah karena pengguna harus membayar biaya sewa server dan biaya layanan CDN.
  • Masalah keamanan: CDN dapat menyebabkan masalah keamanan karena konten digital disimpan di server yang dikelola oleh pihak ketiga.
  • Kesulitan pengaturan: CDN dapat mengalami kesulitan pengaturan karena pengguna harus mengatur cache dan cache invalidation dengan benar agar tidak terjadi kesalahan.


Cara Kerja CDN

Cara kerja CDN adalah sebagai berikut:

  1. Pengguna meminta konten digital seperti halaman web, gambar, video, atau audio.
  2. Permintaan pengguna akan diarahkan ke server CDN terdekat.
  3. Server CDN akan mencari konten digital yang diminta di cache server.
  4. Jika konten digital ada di cache server, server CDN akan mengirimkan konten digital tersebut ke pengguna.
  5. Jika konten digital tidak ada di cache server, server CDN akan mengambil konten digital dari server pusat dan menyimpannya di cache server.
  6. Konten digital yang disimpan di cache server akan disajikan ke pengguna dari server.


Baca juga Fungsi dan cara kerja FTP


Kesimpulan

Dari pembahasan di atas, dapat disimpulkan bahwa CDN adalah infrastruktur jaringan yang digunakan untuk mempercepat pengiriman konten digital ke pengguna di seluruh dunia dengan mengurangi jarak fisik antara server dan pengguna. Dalam penggunaannya, CDN memiliki kelebihan dalam mempercepat waktu muat, menurunkan biaya bandwidth, mengurangi beban server, dan meningkatkan keandalan. Namun, CDN juga memiliki kekurangan seperti biaya yang tidak murah, masalah keamanan, dan kesulitan pengaturan.


Secara keseluruhan, CDN sangat berguna bagi pengembang web dan perusahaan yang ingin memberikan pengalaman terbaik bagi penggunanya dengan mempercepat waktu muat dan meningkatkan keandalan. Namun, sebelum memutuskan untuk menggunakan CDN, pengguna harus mempertimbangkan kelebihan dan kekurangan serta biaya yang terkait dengan penggunaan CDN.

Buku Clean Code: Buku wajib untuk programmer

7:09 PM Add Comment

Buku "Clean Code: A Handbook of Agile Software Craftsmanship" yang dikarang oleh Robert Cecil Martin, atau yang akrab dipanggil Uncle Bob, telah menjadi panduan penting bagi para pengembang perangkat lunak sejak diterbitkan pada tahun 2008. Buku ini membahas banyak aspek penting dari pembuatan kode yang bersih dan mudah dipelihara, dari tata letak dan format hingga penamaan variabel dan fungsi. Dalam artikel ini, kita akan membahas beberapa konsep utama yang dibahas dalam buku Clean Code.


Salah satu aspek utama dari kode bersih adalah keterbacaan. Kode yang mudah dibaca tidak hanya membantu programmer lain yang akan bekerja pada kode tersebut di masa depan, tetapi juga membantu programmer saat menulis kode. Robert Martin menekankan pentingnya menggunakan nama variabel, fungsi, dan kelas yang deskriptif, sehingga orang lain dapat dengan mudah memahami tujuan dan fungsi dari kode tersebut. Ia juga menekankan pentingnya menghindari komentar yang berlebihan, karena kode yang bersih seharusnya sudah cukup jelas dan mudah dipahami tanpa harus mengandalkan komentar.

Baca juga Perbedaan aplikasi monolitik dan microservice

Konsep lain yang dibahas dalam buku ini adalah "principle of least astonishment" atau prinsip kejutan terkecil. Prinsip ini menyatakan bahwa perilaku sebuah program seharusnya tidak mengejutkan pengguna atau programmer yang melihatnya. Sebagai contoh, ketika sebuah fungsi memiliki nama yang mengindikasikan bahwa ia akan mengembalikan nilai, ia seharusnya tidak mengubah data yang ada dalam program. Jika sebuah fungsi memiliki efek samping yang tidak terduga, ini dapat membuat program menjadi sulit dipahami dan dipelihara.


Buku ini juga membahas beberapa teknik khusus untuk membuat kode lebih bersih dan mudah dipelihara. Contohnya, Martin menyarankan untuk menghindari fungsi yang terlalu panjang dan kompleks. Fungsi yang terlalu panjang biasanya sulit dipahami dan membingungkan, dan cenderung memiliki banyak efek samping yang tidak terduga. Sebagai gantinya, Martin menyarankan untuk memecah fungsi yang kompleks menjadi beberapa fungsi yang lebih sederhana dan spesifik.


Selain itu, Martin juga menekankan pentingnya untuk menghindari kode yang duplikat. Kode duplikat tidak hanya membuang-buang waktu dan sumber daya, tetapi juga cenderung menyebabkan kesalahan dan masalah di masa depan. Martin menyarankan penggunaan konsep "DRY" atau "Don't Repeat Yourself", yang berarti menghindari menulis kode yang sama berulang-ulang. Sebaliknya, pengembang perangkat lunak seharusnya mencoba untuk menemukan cara yang lebih efisien dan efektif untuk menulis kode.


Buku "Clean Code" oleh Robert Cecil Martin adalah panduan yang sangat berguna bagi para pengembang perangkat lunak yang ingin meningkatkan kualitas kode mereka. Dalam buku ini, Martin membahas banyak konsep dan teknik yang dapat membantu membuat kode lebih bersih, mudah dipahami, dan mudah dipelihara. Dengan menerapkan konsep dan teknik yang dibahas dalam buku ini,


pengembang perangkat lunak dapat menghasilkan kode yang lebih andal, mudah diuji, dan dapat disesuaikan dengan perubahan kebutuhan. Selain itu, buku ini juga sangat bermanfaat bagi pengembang perangkat lunak yang ingin meningkatkan keterampilan mereka dalam menulis kode yang baik dan efisien.

Baca juga Apa itu Devops

Dalam buku "Clean Code", Martin juga menekankan pentingnya disiplin dan tanggung jawab dalam menulis kode yang bersih dan mudah dipelihara. Ia mengatakan bahwa menjadi seorang "seniman" dalam menulis kode bukanlah hal yang cukup, tetapi pengembang perangkat lunak juga harus mempertimbangkan bagaimana kode tersebut akan dipelihara dan diperbarui di masa depan. Dengan disiplin dan tanggung jawab yang tepat, pengembang perangkat lunak dapat menghasilkan kode yang lebih berkualitas tinggi dan mudah dipelihara.


Buku "Clean Code" juga membahas banyak contoh nyata dari kode yang buruk dan bagaimana kode tersebut dapat diperbaiki dengan menerapkan prinsip-prinsip yang dibahas dalam buku. Melalui contoh-contoh ini, pengembang perangkat lunak dapat memahami bagaimana prinsip-prinsip tertentu dapat diterapkan dalam konteks dunia nyata.

Baca juga memahami istilah Asynchronous dan Synchronous programming

Secara keseluruhan, buku "Clean Code" oleh Robert Cecil Martin adalah sumber daya yang sangat berharga bagi pengembang perangkat lunak yang ingin meningkatkan kualitas kode mereka. Dengan membaca buku ini dan menerapkan prinsip-prinsip dan teknik yang dibahas di dalamnya, pengembang perangkat lunak dapat menghasilkan kode yang bersih, mudah dipahami, dan mudah dipelihara. Hal ini tidak hanya akan meningkatkan kualitas produk perangkat lunak yang dihasilkan, tetapi juga akan meningkatkan efisiensi dan produktivitas seluruh tim pengembang.

Bagaimana tertarik untuk meningkatkan kualitas kode kamu ? 

Beli di shopee 


Apa Yang di pelajari di Teknik Informatika?

6:56 AM Add Comment
Teknik Informatika


Belum lama ini, ada salah satu thread di kaskus dengan judul yang cukup menarik tentang informatika. Judulnya adalah “kuliah jurusan komputer, maaf anda salah pilih“.  Inti tulisan itu adalah banyak lulusan komputer yang tidak bisa memprogram, bahkan kadang kalah dengan yang belajar otodidak. Keluhan lain di artikel itu adalah bahwa banyak lulusan IT yang tidak siap kerja. Si penulis artikel itu sendiri adalah orang yang belajar komputer secara otodidak yang akhirnya sukses menjadi programmer ahli walaupun tidak pernah mengenyam kuliah IT.

Dari artikel diatas, banyak yang pro dan kontra, sebagian lagi justru tambah galau terutama yang merasa salah jurusan di IT atau anak Sekolah yang ingin melanjutkan kuliah diperguruan tinggi. Saya baru menyadari kekuatan sebuah tulisan ternyata bisa mempengaruhi bahkan meracuni pikiran pembacanya. Dulu, saya juga pernah menulis artikel “mengapa sebaiknya anda tidak jadi programmer”, namun di artikel itu saya jelaskan kalau isinya hanya joke dan hiburan, walaupun tentu ada benarnya. Ternyata artikel bernada joke aja menimbulkan pro dan kontra, apalagi artikel diatas.

Artikel ini saya beri judul “apa yang dipelajari di jurusan TI” agar pembaca tahu bedanya belajar otodidak, belajar di tempat kursus dan belajar di kuliah. Dulu.  waktu saya mau masuk kuliahpun paman saya bilang ” Komputer bisa dipelajari sendiri/kursus, mending kamu masuk keguruan biar jadi guru (baca :PNS).” Namun, mengutip kata temen saya Ilham:” Jika memang komputer bisa dipelajari secara otodidak, kenapa masih ada jurusan komputer dari D3, S1,S2 bahkan S3?”. Pasti ada yang tidak bisa dipelajari sendiri disana.


Dalam artikel ini, saya akan meluruskan artikel kaskus diatas sehingga para pembaca tidak langsung panik atau merasa salah jurusan atau terbesit pikiran “Kalau komputer bisa dipelajari secara otodidak”. Yang perlu diperhatikan adalah “ilmu” cara memakai komputer  tidak sama dengan ilmu Komputer itu sendiri.  Untuk itu, saya akan bagi materi komputer menjadi 3 bagian yaitu materi Komputer literacy, materi kursus komputer dan materi di jurusan Teknik Informatika.

sebelum lebih jauh, kata ilmu komputer dan teknik informatika akan saya pakai secara bergantian untuk mengacu pada pembahasan yang sama. Jika dibahas lebih jauh, Teknik informatika dan ilmu komputer itu ada perbedaannya tapi untuk perkara ini tidak akan saya bahas panjang lebar.

materi komputer literacy

Komputer saat ini bukanlah barang mewah dan orang yang memakai komputer punt idak perlu harus kuliah atau kursus. Ilmu ilmu seperti bagaimana cara akses internet, cara memakai microsoft word dan cara Chat di Yahoo bukanlah ilmu komputer. Saya menyebut ilmu ini adalah “komputer literacy”. Di abad 21 ini, komputer literacy sama saja dengan “kemampuan membaca” di abad 20. Jadi memang sudah seharusnya setiap orang bisa memakai komputer, sama halnya setiap orang bisa membaca atau bisa naik motor.

Jika anda tidak kuliah atau anda kuliah di jurusan selain komputer, maka ilmu ilmu ini , termasuk berbagai macam buku yang bertebaran di toko buku itu bukan ilmu komputer. Catat sekali lagi, bukan Ilmu komputer, tapi lebih tepat disebut “ILmu cara memakai komputer”.  Ilmu ini bisa dipelajari sendiri secara otodidak atau ditempat kursus bagi yang benar benar awam.

materi kursus komputer

Materi kursus komputer, biasanya fokus ke satu skill, misalkan pemrograman visual basic, jaringan komputer atau desain grafis. Ilmu ini juga bisa dipelajari sendiri sebenarnya asal anda mempunyai kemampuan logika yang kuat. Materi kursus ini juga diajarkan di kuliah IT, tapi apa bedanya? Perbedaan mendasar adalah kursus hanya fokus pada “TODO” “Next” , “Habis ini, klik itu” . Lihat penekannya ada pada praktik. Orang yang kurus itu tidak memahami secara mendalam tentang apa itu variabel, mengapa ada integer ada float. Apa itu overflow, stack atau heap, itu semua tidak anda pelajari di kursus. Maka kekurangan paling nampak dari orang yang hanya kursus, dia mengetahui ilmu itu hanya dari satu sudut pandang. Efek sampingnya, dia akan kesulitan ketika diberi kasus yang berbeda atau disuruh membuat program dengan bahasa yang berbeda.



Kursus sangat cocok untuk orang yang mengejar ” cara cepat bisa Aplikasi FOO” secara “Mie instant”. Artinya anda memang bisa memahami ilmu itu, tapi tidak mendalam. Sekali lagi tidak mendalam. Kekurangna lain dari kursus adalah materi yang bersifat praktis, tidak terurut dan tidak mementingkan konsep.

Materi di Jurusan Teknik informatika

Jurusan teknik informatika, mempelajari ilmu yang bersifat teknik dan mendasar. Sebagai contoh Perancangan prosesor, Rancangan sistem operasi, Sistem berkas, compiler desain, computer vision Semantic Web  serta topik lain secara mendalam dan terurut. Bagi yang merasa tidak perlu kuliah dan mampu belajar sendiri silahkan baca buku -buku berikut:

Advanced Compiler design oleh  Steven S mucnick
Digital Design and Computer Architecture oleh David haris
Computer Vision: Models, Learning, and Inference by Dr Simon
Artifical intelegence:Modern aproach by  Stuart Russell dan peter norvig
dan ratusan topik Komputer lain
Jika anda  tanpa kuliah, hanya belajar otodidak  bisa memahami buku buku diatas, anda bisa paham, maka saya sepakat dengan anda bahwa kuliah TI itu tidak perlu, nyatanya, baru baca judulnya aja sudah mabok kan? .  Yang perlu anda tahu, Hanya karena anda bisa belajar hacking dan coding otodidak bukan berarti anda sudah menguasai ilmu komputer. Ilmu hacking dan programming itu hanya kurang dari 10% dari ilmu komputer yang sebenarnya. ini yang perlu ditanamkan dan dipahami. Jika anda ingin tahu luasnya ilmu komputer, silahkan buka http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/

Link diatas adalah link kuliah  gratis tentang ilmu komputer dari MIT, salah satu universitas terbaik didunia. Jika anda paham 10% saja dari yang dibahas, saya bisa sepakat dengan anda bahwa kuliah komputer/IT itu tidak perlu.

Link tambahan jika anda penasaran tentang materi ilmu komputer /teknik informatika :

http://en.wikipedia.org/wiki/Outline_of_computer_science


Tapi, Ilmu (kuliah)   tidak dipakai di dunia kerja?

jawabanya, pasti dipakai baik langsung ataupun tidak langsung. Banyak mahasiswa yang lulus dan sukses jadi programer atau ahli security akan merendahkan kampusnya sendiri dan sombong dengan mengatakan :” saya tahu seperti ini belajar sendiri kok, ilmu dikampus teori semua”. Termasuk saya dulu juga berpikir seperti itu. Tapi coba kita telisik lebih jauh,  Orang yang jago jadi programmer, waku kuliah, dari mana anda diperkenalkan konsep algoritma? yang udah jago Oracle dan jadi sysadmin , siapa yang mengenalkan konsep database? Yang sudah ahli di jaringan, Siapa yang amengajarkan ilmu TCP/IP dan osi?

Sekarang mari kita lihat ilmu kuliah yang paling abstract bagi para mahasiswa TI semester awal. Ilmu itu bernama “Struktur data”. Ilmu ini seakan akan tidak pernah dipakai, padahal hampir semua program yang dipakai dikomputernya memakai teori “struktur data” . Kita lihat contoh realnya “:Saat anda membuka excel, apa konsep penting di struktur data  yang dipakai, jawabanya :”Array dan Matrix”.  Saat kita membuka Windows explorer, apa structur data yang dipakai?” Jawabannya :”TREE”. Saat kita memakai Google map untuk mencari jalur perjalanan , apa teori yang dipakai :” GRAPH”.   Ilmu ilmu itu tidak akan pernah diajarkan di kursus, ilmu itu hanya diajarkan di kampus. Sayangnya, dosen yang mengajarkan materi ini juga jarang yang memberi contoh real sehingga seakan akan tidak bermanfaat.


Janganlah kita sombong merasa ilmu kuliah  idak diperlukan, rasa rasanya , dosen dosen itu tidak memberi manfaat apapun, padahal tanpa mereka mahasiswa yang katanya belajar otodidak  tidak akan behasil, berkat kuliah dari dosen itulah ilmu pondasi kita menjadi matang, itu yang jarang di disadari mahasiswa atau alumni.

Kalau anda kerjanya jadi tukang ketik ya jelas ilmu komputer tidak dipakai. Bayangkan anda membangun sistem yang besar misalkan Bank, Sistem kendali pabrik, menjadi peneliti, membuat robot dan sebagainya maka saya jamin 100% ilmu teori yang dulu didapat pasti dipakai.

Lulusan TI merasa tidak perlu ilmu TI ketika sudah lulus karena apa? ya karena mereka kerja diluar jalur, misal jadi teller bank, jadi juru ketik atau jadi petugas entri data bahkan ada yang banting setir dibidang yang sama sekali tidak berhubungan dengan komputer.

Ga kuliah/drop out kuliah  komputer, juga bisa sukses?

ini adalah pola pikir yang perlu dibrantas, untuk jelasnya silahkan baca artikel “Drop out kuliah lalu sukses, yakin lo?” . Inti dari tulisan itu, orang yang sering dijadikan contoh dropout lalu sukses seperti bill gate itu bukan Orang bodoh bro.Sayangnya buku buku tentang drop out sukses itu menakankan pada DROP OUT nya, bukan pada ALASAN dibalik drop out . Si bill gate ini  otaknya kelewat jenius, dia bisa membuat Bahasa pemrograman, sekali lagi CATET MEMBUAT BAHASA PEMROGRAMAN  Basic yang dia jual bahkan sebelum lulus kuliah. Karena bisnis menjual bahasa pemrograman cukup sukses, akhirnya dia memutuskan untuk dropout. Sama juga dengan Mark zukerberg, steve job dan lainnya.

Pola pikir drop out bisa sukses itu harus dibuang jauh jauh bro. Hanya karena beberapa orang sukses saat drop out, bukan berarti tanpa sekolah/kuliah kamu juga bisa mengalami sukses yang sama. Contoh bodohnya , jika di lamaran pekerjaan di butuhkan S1 teknik informatika, tapi anda Drop out, apa anda bisa melamar di lowongan itu? Jelas tidak! Sekali lagi, jangan cuman baca buku motivasi yang cuma menjual mimpi kosong.

Ingin Ahli IT?  Hindari buku ” 10 jam mahir belajar FOO!”.

Peter Norvig, direktur penelitian di Google menulis artikel dengan judul “Teach Yourself Programming in Ten Years” yang merupakan bentuk kekesalannya karena banyakny buku dengan judul “Teach your selft bla bla bla in 10 hours” atau kalau di indonesiakan menjadi ” Mahir ilmu FOO dalam 10 jam” atau judul sejenis. Tentunya kata FOO(L)  bisa anda ganti sendiri dengan topik topik komputer yang seakan akan gampang.  Topik sejenis adalah “FOO(L) for dummies”. Buku inilah yang membuat seakan akan ilmu komputer itu ilmu yang cetek, semuanya bisa belajar dan bisa ditempuh dalam hitungan hari. Pemikirin paling TOLOL yang pernah saya baca sejauh ini.”



Buku buku diatas adalah buku sampah karena menggampangkan perkara yang tidak gampang. Ambilah contoh :” Menjadi hacker dalam waktu 3 hari” atau ” Mahir pemrograman visual basic dalam waktu 10 jam”. Apa yang bisa kita dapat dari 10 jam belajar ilmu pemrograman. Paling paling anda tahu syntax bahasa pemrograman, copas code dan runing code.

Sekarang, bagaimana orang orang model belagu yang mengatakan bisa belajar komputer secara otodidak disuruh buat seperti ini:


bagi yang belajar otodidak, paham ga dengan perintah si anjing hackles?
” Buatlahlah kelas abstract untuk penyimpanan dan pencarian object serial dengan teknik self adjusing binary tree!”


Saya yakin dia tidak tahu sama sekali apa yang diperintahkan, coba perintah diatas berikan ke programer otodidak, paham ga? Ilmu seperti diatas hanya bisa dipelajari di kuliah, banyak materi dasar yang harus dikuasai sebelum menjadi “Real programer”, bukan programer kopas.  Untuk memahami perintah diatas saja kita minimal harus memahami OOAD (object oreinted analitic and desain),  OOP (object oriented programing) , Algoritma pemrograman,struktur data dan  bahasa pemrograman java.

Sekdar tambahan, Seorang disebut ahli kalau sudah berkecimpung dibidangnya minimal 10 tahun, jadi kalau baru lulus dan baru 2 tahun bekerja, itu masih “Junior level”, kalau sudah mencapai “4-5tahun” Masuk level” Senior level” dan kalau diatas 10 tahun baru disebut “expert”.


Kesimpulan

Jika anda ingin tahu cara memakai komputer dan internet, cukup beli buku “cara memakai komputer” dan anda bisa belajar otodidak. Jika anda ingin mengerti atau menguasai skill tertentu di bidang komputer (semisal jaringan atau desain) cukup kursus. Namun jika anda ingin benar benar mengerti dunia komputer dan ilmu komputer luar dalam sampai ke akar akarnya , tidak ada jalan lain selain Kuliah komputer. Dari sini, andalah yang paling tahu kebutuhan anda.

Mengatakan belajar ilmu komputer bisa dengan otodidak sama saja anda mengatakan bisa membangun gedung pencakar langit hanya dengan membaca buku arsitektur . Sama juga anda mengatakan, anda bisa jadi dokter spesialis hanya dengan otodidak dan membaca buku ilmu kedokteran”.

Satu lagi, hanya karena anda bisa membuat aplikasi Hotel yang dipakai diberbagai hotel, bukan berarti anda sudah mungasai ilmu komputer. Anda baru menguasai secuil ilmu komputer bernama “SISTEM INFORMASI”  jelas kan sekarang?

Sebagai penutup, kuasailah Logika/Matematika dan Bahasa inggris karena dua hal ini yang menjadi basis keilmuan dari Teknik Informatika, Jika anda ingin fokus ke embeded sistem maka kuasai juga fisika terutama masalah listrik dan elektronik.

Jika anda Ingin melihat Daftar Matakuliah Jurusan Teknik Informatika dan Penjelasannya anda bisa melanjutkan membaca Artikel dengan Judul “Mengenal Mata Kuliah Jurusan Teknik Informatika” Semoga Bermanfaat!