Rabu, 26 Februari 2014

Video
Text

C++ QT No.2: Membuat hello world console application (+Variannya)


Software yang kita gunakan pada tutorial ini: QT 5.2.1, QT Creator 3.0.1

Sudahkah anda membaca tentang QT (dibaca cute)? QT adalah the amazing cross platform application framework yang support diantaranya:
Desktop: Windows, Mac OS X, Linux/X11, Solaris
Embedded: Embedded Linux (DirectFB, EGLFS, KMS, and Wayland), Windows Embedded (Compact and Standard), Embedded Android, Green Hills Software INTEGRITY, QNX, Wind River VxWorks
Mobile: Android, iOS, BlackBerry, Sailfish, WinRT*, Tizen*
*Work in progress, technology previews


Kita cukup mengetikan satu jenis kode, satu jenis framework QT, dan kita bisa me-run nya di beragam platform seperti di atas. Keren kan?

Nah, pada tutorial ke – dua ini kita akan mencoba membuat sebuah console application (Hello World). Kita pun juga akan membuat varian – varian dari Hello World kita ini, mulai dari kode sederhana hingga kode kompleks.



QT merupakan C++, sehingga bila kita ingin membuat console application di QT jangan khawatir, karena codenya sama baik dari class QT maupun standar C++. Bila anda sudah familiar dengan C++, pasti tidak sulit memahami QT.

Mari kita buka QT kita, buat project, dan mencoba memilih ‘console application’. Saat anda selesai membuat Project, maka otomatis QT Creator akan membuatkan sebuah template code untuk anda seperti di bawah ini:

Lihat gambar 1:




Nah, perhatikan screenshot code, kita akan mengenal directives dengan nama . Eh, bentar dulu, masihkah anda ingat apa itu directives??? :P
Bila lupa, silahkan baca – baca tutorial C++ standar di MediaTutorial, lihat kategory samping kanan dan buka saja kategory “C Plus Plus”.

Ada pertanyaan yang sering diajukan ke MediaTutorial, kenapa kategory nya adalah “C Plus Plus”? Kenapa tidak menggunakan “C++” saja?

Karena ‘blogspot’ tidak mendukung “+” pada LABEL nya, bug ini sudah lama dilaporkan ke Google tapi hingga tutorial ini dibuat (Selasa, 25 Feb 2014), tetap saja tidak ada perhatian :P

Nah, kembali ke , ini adalah salah satu Class dari QT yang digunakan dalam membuat console application. Ingin tahu lebih tentang class ini??? Anda bisa membuka QT help anda (setelah install QT pasti akan otomatis install help nya juga), dan anda pun bisa membaca setiap method yang ada di dalamnya.

Lihat gambar 2:


Nah, kembali ke kode template tadi, di sana kita membuat sebuah object a yang merupakan class dari QcoreApplication, kemudian kita memanggil method exec(). Sekali lihat kode nya pasti sudah bisa memahami kan??? Ini adalah OOP dari C++, hayo, yang belum tahu OOP silahkan baca – baca tutorial C++ standar di kategory “C Plus Plus” dari MediaTutorial.

Sebetulnya apa sih method exec() ini??

Sekali lagi kita akan membuka help pada QT Creator,

Lihat gambar 3:


Intinya, method exec() digunakan untuk event looping. Tahukah anda apa itu event??? Setiap komputer (saya menggunakan Windows 8.1 64) pasti selalu ada yang namanya event looping, proses ini digunakan untuk mendeteksi adanya event dari komputer, seperti click, scroll, dan lain lain. Bila proses menemukan adanya event , maka akan menjalankan method tersebut.

Kita akan membuat contoh penggunaan event looping ini pada tutorial berikutnya.

Nah, sekarang, saatnya kita akan membuat sebuah aplikasi Hello World. Kalo kita lihat, aplikasi kita ini sangatlah sedernya, tidak perlu memakai event, perlukah kita membuat object dari QcoreApplication dan memanggil method exec() nya? Yup, bisa anda gunakan, bisa tidak, karena ini baru Hello World saja. Tapi bila anda membuat aplikasi yang kompleks, anda harus selalu menggunakannya.

Mari kita mulai mengetikan HelloWorld nya, kita memiliki banyak sekali varian Hello World Console Application, saya yakin banyak pada pemula yang sedang mencari – cari contoh console ini:

VARIAN 1:
Membuat hello world dan C++ standar coding:


Lihat kode di atas, pada varian 1 ini kita hanya mengetikan Hello World standar C++, bahkan hampir kita tidak menggunakan class dari QT. Kita pun meng-comment out a.exec(), karena kita belum perlu menggunakan event, jadi tinggal di comment-out. Standard C++ yang kita gunakan adalah iostream dan namespace std. Silahkan run, dan lihat, jalan dengan sempurna kan???
Itulah varian Hello World pertama kita :) silahkan dicoba.

VARIAN 2:
Membuat Hello World dengan class QTextStream:


Nah, pada varian 2 ini kita mulai akan menggunakan QTextScream, apa itu class QTextStream?

Silahkan anda buka QT Help anda, QTextStream merupakan sebuah class yang digunakan untuk writing and reading text.
Pada kode di atas, kita membuat sebuah object out dari class QTextStream ini, kemudian kita memanggil constructornya dan memberikan argument stdout. Ingatkah dengan stdout, stdin, stderr?? Wah kalo lupa ayo ingat – ingat lagi C++ nya,,,,

Nah, setelah itu baru kita masukan hello world kita,, silahkan di coba,,,

VARIAN 3:
Membuat Hello World dengan standard Class C++:


Masih ingatkah tentang cara membuat Class pada C++? Bila lupa ayo buka buka lagi tutorial C++ di kategory samping kanan ini... :P

Pada varian 3 ini kita mencoba membuat class, yang didalamnya terdapa constructor, destructor, dan satu buah method sayHello() , coba lihat kodenya, sangat mudah dipahami bukan???

VARIAN 4:
Membuat Hello World dengan class QTextStream dan Class C++:


Nah, ini modelnya mirip dengan varian 3, tapi dikembangkan dengan memakai class dari QT yaitu
Coba lihat kodenya, mudah dibaca kan??

VARIAN 5:
Membuat Hello World dengan standar Class C++:


Nah, coba perhatikan kode ini dengan Varian 3, mirip bukan, tapi pasti ada yang beda, ayo coba cari,,, :P
Bila anda tidak bisa memahami kode di atas, anda harus melihat dulu tutorial C++ , , ,
Sama dengan varian 3, cuman pada varian 5 ini kita memberikan argument ke dalam method. Ayo cari,,,, :)

VARIAN 6:
Membuat Hello World dengan QT Class <qdebug>


Apa itu QDebug?
Ini QDebug lho ya, bukan qDebug, karena berbeda :)

QDebug merupakan class yang menyediakan output stream untuk debugging information.
QDebug ini digunakan ketika kita ingin menampilkan informasi debugging atau tracing ke tampilan console, file, atau device lain.

Kalo qDebug ini merupakan global declaration dari <qtglobal>, temennya qDebug diantaranya adalah qCritical, qWarning, qFatal dan lain – lain .
Dalam prosesnya QDebug yang merupakan object selalu memanggil qDebug untuk mendapatkan informasi debugging dan tracing information.

Kita akan membahas QDebug nanti pada tutorial yang lain.

Kalo kita pakai Qdebug, kita tidak perlu menggunakan ‘<<endl’ atan ‘\n’ , karena Qdebug akan menambahkan sendiri untuk kita.

VARIAN 7:
Membuat Hello World App dengan Class dan Header file.
process.h
process.cpp
main.cpp

process.h


process.cpp


main.cpp


Nah, kode – kode di atas adalah juga standard C++, hayo siapa yang belum bisa menulis class dan header??? Silahkan baca – baca tutorial C++ di MediaTutorial terlebih dahulu...

Kita membuat sebuah process.h yang berisikan declaration dari class dan method, kemudian kita membuat sebuah process.cpp yang merupakan definition dari class dan object di process.h.
Baru kemudian kita membuat main.cpp yang berisikan main() method kita.

Pasti sudah pada lupa dengan ‘declaration’ dan ‘definition’. Silahkan dibuka – buka kembali tutorial C++ nya,,, :)

Nah, ternyata banyak banget kan model penulisannya, satu hal yang terpenting adalah anda harus bisa C++, tidak perlu jago, cukup sekedar bisa saja, pasti lebih mudah nantinya bila akan terjun ke QT.

Demikian tutorial untuk complete beginner, bila anda punya varian Hello World yang lain silahkan posting komentar.

Salam,


Please share bila tutorial ini cukup berbobot untuk anda!

MediaTutorial mengedepankan tutorial yang berkualitas. Semua penjelasan dipaparkan sedetail mungkin.
Please, bila tutorial ini membantu anda dan cukup berkualitas bagi anda mohon untuk share pada button sharing berikut ini.

Writen by: Okie Eko Wardoyo

Comments

Tidak ada komentar:

Poskan Komentar