User Interface
User interface atau disingkat dengan UI adalah tampilan yang menjadi jembatan antara manusia dan mesin dalam hal ini yang saya bahas adalah mesin komputer. User interface membantu manusia (user) dalam mengoperasikan mesin seperti yang sudah ditentukan oleh manusia yang merancang mesin tersebut (programmer).
Saya menyebut user interface adalah sebuah karya seni. Seperti sungai nil yang sejuk dan subur diantara tandus dan membosankannya gurun di Mesir. Yah, programming itu seperti gurun pasirnya dan user interface itu seperti sungai nil.
Pada proses pembuatan aplikasi berskala besar, tugas dari programmer dan designer dibedakan dengan jelas. Tapi untuk saya, membuat user interface adalah hiburan. Yah, walaupun sekarang saya masih melongo takjub melihat user interface yang keren-keren. Jujur saya akui, sampai sekarang juga saya masih berkutat dengan mempelajari warna. Sangat dasar dan jauh dari expert, tapi bukankah yang keren dari ilmu adalah proses belajarnya. Kadang saya bingung sama jalan pikiran saya, karena terlalu banyak pertanyaan yang muncul dan belum mau beranjak kalau belum terpecahkan. Mungkin inilah yang membuat saya lambat belajar.
Pada tulisan selanjutnya akan saya bahas tentang apa yang saya pelajari dari "warna". tunggu yaaaaa...
Saya menyebut user interface adalah sebuah karya seni. Seperti sungai nil yang sejuk dan subur diantara tandus dan membosankannya gurun di Mesir. Yah, programming itu seperti gurun pasirnya dan user interface itu seperti sungai nil.
Pada proses pembuatan aplikasi berskala besar, tugas dari programmer dan designer dibedakan dengan jelas. Tapi untuk saya, membuat user interface adalah hiburan. Yah, walaupun sekarang saya masih melongo takjub melihat user interface yang keren-keren. Jujur saya akui, sampai sekarang juga saya masih berkutat dengan mempelajari warna. Sangat dasar dan jauh dari expert, tapi bukankah yang keren dari ilmu adalah proses belajarnya. Kadang saya bingung sama jalan pikiran saya, karena terlalu banyak pertanyaan yang muncul dan belum mau beranjak kalau belum terpecahkan. Mungkin inilah yang membuat saya lambat belajar.
Pada tulisan selanjutnya akan saya bahas tentang apa yang saya pelajari dari "warna". tunggu yaaaaa...
Struktur Data Part 2 - Pointer
Ada 2 macam operator pointer, yaitu:
- Operator deference(&)
- Operator reference(*)
Untuk mengatasi masalah tersebut (mengetahui alamat memori) kita dapat menggunakan operator pointer deference yaitu dengan menempatkan tanda address of atau "&" didepan sebuah variabel.
2. Operator reference
Sebaliknya, untuk mengetahui nilai variabel yang disimpan pada alamat memori tertentu kita dapat menggunaka operator reference. yaitu dengan menambahkan tanda asterisk (*) pada depan variabel yang berisi nilai alamat memori.
Contoh dari kedua operator pointer tersebut dapat dilihat dari kode berikut ini:
perhatikan penggunaan tanda & dan * sebagai operator pointer |
Hasil dari kode tersebut adalah:
hasil run compile dan run dari kode diatas |
Pendeklarasian pointer dapat dilakukan dalam konstanta dan variabel.
1. Deklarasi Pointer pada Konstanta = `Type data` * const `nama_konstanta`
2. Deklarasi Pointer pada Variabel= `Type data` * `nama_variabel`
Struktur Data Part 1 - Konsep dasar struktur data
Pada tulisan sebelumnya saya udah curhat kenapa saya mulai lagi belajar dari awal. Setelah mencari informasi dari berbagai sumber, akhirnya saya memutuskan yang harus saya kuasai untuk menapaki jalan terjal menjadi programmer adalah dengan belajar struktur data.
Kenapa harus struktur data?
Struktur data adalah cara menyimpan atau merepresentasikan data di dalam komputer agar bisa dipakai dengan efisien. Kata kunci efisien yang menurut kamus besar bahasa indonesia berarti "tepat atau sesuai untuk mengerjakan (menghasilkan) sesuatu (dng tidak membuang-buang waktu, tenaga, biaya)" sangat saya sukai, karena saya adalah seorang pemalas. Pemakaian struktur data yang benar
pasti memudahkan algoritma dan membuat program lebih efisien dan
sederhana. Karena saya sangat malas, saya suka kata-kata itu (mudah,
efisien, dan sederhana)
Programmer itu harus menghasilkan sesuatu dengan tepat, cepat,dan mudah. Bukan berniat menggampangkan pekerjaan programmer, maksud saya adalah semua orang mungkin bisa mengerjakan programming stuff dengan cara apapun. Akan tetapi yang namanya programmer harus mengerjakan sesuatu dengan "the most efficience possible steps". Istilahnya kalau cut the rope itu bintangnya tiga lah ya.
Programmer itu harus menghasilkan sesuatu dengan tepat, cepat,dan mudah. Bukan berniat menggampangkan pekerjaan programmer, maksud saya adalah semua orang mungkin bisa mengerjakan programming stuff dengan cara apapun. Akan tetapi yang namanya programmer harus mengerjakan sesuatu dengan "the most efficience possible steps". Istilahnya kalau cut the rope itu bintangnya tiga lah ya.
Saya tidak keberatan menghabiskan banyak waktu untuk membaca materi struktur data, karena saya memerlukan kesibukan di dalam KRL serpong-tanah abang yang sangat sumpek.
Selanjutnya kita akan masuk ke materi struktur data, yaitu:
1. Konsep dasar struktur data.
"Data itu apa sih?" data adalah representasi dari fakta di
dunia nyata yang disimpan atau direpresentasikan dalam tulisan, suara,
gambar, sinyal, atau simbol. Cara kita ngatur data-data itulah yang disebut dengan struktur data.
Struktur data dibagi menjadi 2, yaitu:
- Struktur data sederhana (array dan record)
- Struktur data majemuk yang juga dibagi dua,yaitu linier (Stack, Queue, Linked list) dan non linier (graph dan pohon biner)
source:onlinefungags.com |
Untuk struktur data tersebut akan dibahas pada part selanjutnya dan membentuk struktur-struktur data pada contoh diatas, kita membutuhkan
beberapa pengetahuan dasar tentang Konstanta, variabel, dan tipe data, procedure, function, dan pointer.
2. Konstanta dan Variabel
Dalam membuat program seringkali kita menggunakan angka atau string secara berulang-ulang.untuk memudahkannya kita boleh menggantinya dengan konstanta atau variabel.
Konstanta
|
Variabel
|
Bersifat tetap
|
Bersifat dinamis
|
Nilai sudah dideklarasikan di awal program
|
Nilai tidak dideklarasikan di awal program
|
Variable mempunyai aturan dalam pendeklarasiannya, yaitu:
- Nama variabel harus diawali dengan huruf.
- Tidak boleh menggunakan spasi pada satu nama variabel. Spasi bisa diganti dengan karakter underscore (_).
- Nama variabel tidak boleh mengandung karakter-karakter khusus, seperti : .,+, -, *, /, <, >, &, (, ) dan lain-lain.
- Nama variabel tidak boleh menggunakan kata-kata kunci d bahasa pemrograman
Konstanta mempunyai aturan yang sama dengan variabel dalam pendeklarasiannya, akan tetapi mempunyai sedikit perbedaan yaitu diawali dengan keyword const atau #define.
contoh perbedaan konstanta dan variabel |
Selanjutnya saya mempelajari tentang tipe data. Dapat dilihat pada contoh variabel dan konstanta di atas, bahwa penulisan konstanta atau variabel didahului dengan pendeklarasian tipe data (pada kasus ini integer). Pemakaian data yang tepat membuat program yang kita buat efektif. Tipe data digolongkan menjadi beberapa jenis, yaitu:
- numeric : integer, shortinteger
- real : double, float
- logika : boolean
- karakter : string, char, varchar
Buat apa sih C++?
"Kenapa harus belajar cplusplus?"
Pertanyaan itu terngiang di benak saya semenjak kuliah. Sama sekali ga asik lho padahal. Soalnya saya dulu masuk teknik komputer karena lihat website yang keren. Kok pas masuk kuliah saya malah diajarin algoritma, struktur data, osi layer, bytecode, assembly, dan tentu saja cplusplus. Mentok-mentok belajar delphi yang menurut saya ga menarik karena ga dinamis dan tampilannya kaku. Itu bikin saya frustasi.
Akhirnya seadanya saya ikut kuliah demi kuliah. Dengan hasil yang seadanya pula tentunya, karena lebih banyak nyonteknya.
Singkat cerita saya lulus, dan diterima di perusahaan multinasional yang cukup ternama, dan anehnya saya masuk divisi marketing. Sangat jauh dari apa yang saya minati. Tapi karena ibu saya sangat bangga saya bekerja disitu akhirnya saya bertahan sampai 4 tahun ini. Karena kurang meminati pekerjaan saya dan kebanyakan nganggur di kantor, akhirnya saya mencoba belajar untuk jadi keren (programming). Yah, saya masih berpikir jadi programmer itu keren. Saya belajar php, html, javascript, java, csharp, dotnet, android, objective-c dan banyak lagi. Saya coba bikin aplikasi yang berguna ditempat kerja saya, dan berhasil.
source:pando.com |
Tapi saya merasa ada yang kurang. Banyak sekali pertanyaan muncul. Ya karena saya cuma pake tutorial-tutorial di internet atau buku. Saya cuma jadi programmer kacangan. Kalau ada kesusahan, ya tinggal browsing dan masalah beres. Programmer itu ga kayak gini, batin saya akhir-akhir ini.
Saya harus tau seluk beluknya, saya harus mahir. Dan setelah saya buka kembali lembaran-lembaran materi kuliah, saya merasa malu sama diri saya sendiri. Dulu saya punya banyak kesempatan belajar, kenapa baru sekarang punya niat. Di usia yang hampir menginjak 27 tahun saya baru pengen belajar. Kuliah lagi? Tentu saja tidak, saya punya prioritas alokasi budget, tentu saja keluarga kecil saya.
source:www.instituteofopinion.com |
source:gamatika.fmipa.ugm.ac.id/ |
Hari ini saya memulai belajar struktur data dan tools untuk mempelajarinya saya gunakan cplusplus. Mulai hari ini, ijinkan saya untuk membagi tentang apa yang saya pelajari. Ya kalo ga ada yang baca paling tidak bisa jadi dokumentasi pribadi saya, dan bisa jadi warisan untuk anak saya nanti.