Pemrograman Qt 19 Membaca dan Menuliskan Standard Output ke QTextEdit Secara Realtime
|
|
- Handoko Atmadja
- 7 tahun lalu
- Tontonan:
Transkripsi
1 Pemrograman Qt 19 Membaca dan Menuliskan Standard Output ke QTextEdit Secara Realtime Bismillahirrahmanirrahim. Setelah tulisan pemrograman Qt 10 kemarin, saya berpikir untuk memperbaiki program ProyekRC dengan menambah fungsi penayangan standard output untuk apt-get. Standard output yang ditayangkan harus real time (bergerak terus sampai proses selesai). Di dalam suatu program repo changer, tentu fitur ini wajib ada. Jika tidak, maka pengguna harus membuka 1 program lagi (Terminal) untuk sekadar melakukan apt-get update. Setelah melakukan riset kecil-kecilan, pada tulisan ini saya berhasil melakukannya secara terpisah. Anda dapat mengunduh kode sumber pada akhir tulisan. Semoga tulisan ini bermanfaat. 1. Spesifikasi Sistem Ubuntu Qt Creator Qt Daftar Kelas 1. QProcess 2. QStringList 3. QTextCursor 4. QTextEdit 5. QWidget 6. QVBoxLayout 7. QPushButton 3. Daftar Method 1. setrange() <- milik QIntValidator 2. setvalidator() <- milik QLineEdit 3. setechomode() <- milik QLineEdit 4. setfilename() <- milik QFile 5. open() <- milik QFile 6. operator <<() <- milik QTextStream 4. Arah Tulisan Ini
2 Program harus mampu membaca standard output dari apt-get update ketika bekerja sampai selesai. Standard ouput tersebut harus ditayangkan di QTextEdit. Diharapkan hasilnya nanti seperti Synaptic ketika bekerja. Lihat gambar berikut. Mengapa ini harus dibuat? Karena program RepoChanger pada tulisan ke-10 harus memiliki fitur penting ini.
3 5. Kode mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H #include namespace Ui class MainWindow; class MainWindow : public QMainWindow Q_OBJECT public: explicit MainWindow(QWidget *parent = 0); ~MainWindow(); QPushButton *tomboloke; QWidget *widgetutama; QVBoxLayout *layoututama; QTextEdit *keluarankonsol; public slots: void redirect_output(); void hapus_isi_teks(); void tunjukkan_bahwa_kamu_mati(); private slots: void ambillah_datanya(); private: Ui::MainWindow *ui; QProcess *prosesku; ; #endif // MAINWINDOW_H
4 mainwindow.cpp #include "mainwindow.h" #include "ui_mainwindow.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) this->setgeometry(333, 333, 355, 355); QPushButton *tomboloke = new QPushButton; QVBoxLayout *layoututama = new QVBoxLayout; QWidget *widgetutama = new QWidget; keluarankonsol = new QTextEdit; prosesku = new QProcess; tomboloke->settext("nothing TO SAY"); // keluarankonsol->settextbackgroundcolor("red"); layoututama->addwidget(tomboloke); layoututama->addwidget(keluarankonsol); prosesku->setprocesschannelmode(qprocess::mergedchannels); //menghitamkan background dari QTextEdit dengan CSS keluarankonsol->setstylesheet("qtextedit background-color : black; color : white; "); //membuat scrollbar selalu otomatis mengikuti kursor terbawah //dipasang pada Wednesday, March 26, :39 PM dari dokumentasi Qt keluarankonsol->ensurecursorvisible(); widgetutama->setlayout(layoututama); this->setcentralwidget(widgetutama); connect(tomboloke, SIGNAL(clicked()), this, SLOT(redirect_output())); //teknik S&S baru ini didapatkan pada Tuesday, March 25, 2014 dari //juga bisa didapatkan dari connect(prosesku, SIGNAL(readyRead()), this, SLOT(ambillah_datanya())); //teknik pembacaan kematian proses ini ditemukan pada Wednesday, March 26, :18 PM dari perkiraan dan dokumentasi Qt connect(prosesku, SIGNAL(finished(int)), this, SLOT(tunjukkan_bahwa_kamu_mati())); // connect(prosesku, SIGNAL(readyReadStandardError()), this, SLOT(ambillah_datanya())); //satu MainWindow::~MainWindow() delete ui;
5 //dua void MainWindow::hapus_isi_teks() //tiga void MainWindow::redirect_output() prosesku->start("sh", QStringList() << "-c" << "apt-get update"); //empat void MainWindow::ambillah_datanya() //teknik appending ini ditemukan pada Tuesday, March 25, :07 PM dari appending-text-to-qtextedit.html this->keluarankonsol- >movecursor(qtextcursor::end); this->keluarankonsol->insertplaintext(prosesku->readall()); this->keluarankonsol->movecursor(qtextcursor::end); // this->keluarankonsol->setplaintext(prosesku->readallstandarderror()); void MainWindow::tunjukkan_bahwa_kamu_mati() this->keluarankonsol->insertplaintext("\n\n===proses SELESAI===\n\n");
6 6. Qt Creator dan Kode
7 7. Hasil
8 8. Analisis Saya berusaha memberikan analisis dimulai dari yang paling penting. 8.1 Penayangan Standard Output pada QTextEdit Inilah inti program. Ini dilakukan hanya dengan objek QTextEdit dengan beberapa method. Berikut ini kodenya. //empat void MainWindow::ambillah_datanya() //teknik appending ini ditemukan pada Tuesday, March 25, :07 PM dari this->keluarankonsol->movecursor(qtextcursor::end); this->keluarankonsol->insertplaintext(prosesku->readall()); this->keluarankonsol->movecursor(qtextcursor::end); Pada intinya, program ini hanya melakukan 3 aksi. Pertama, dia meletakkan kursor pada akhir baris. Kedua, dia membaca standard output (dan standard error juga). Ketiga, dia meletakkan kembali kursor pada akhir baris. Inilah yang membuat program dapat membaca standard output secara realtime. Namun fungsi ambillah_datanya() ini tidak akan mampu membaca jika tidak ada SIGNAL dan SLOT berikut. connect(prosesku, SIGNAL(readyRead()), this, SLOT(ambillah_datanya())); SIGNAL readyread() dari objek prosesku (QProcess) inilah yang membuat SLOT ambillah_datanya() senantiasa dijalankan untuk membaca standard output. Tanpa ini, program ini tidak realtime. 8.2 Eksekusi Perintah apt-get update dari Program //tiga void MainWindow::redirect_output() prosesku->start("sh", QStringList() << "-c" << "apt-get update"); // prosesku->start("sh", QStringList() << "-c" << "tailf /var/log/syslog"); Seperti yang kita lakukan pada pemrograman Qt 9, kita memanfaatkan QProcess untuk menjalankan perintah shell di sini. Perhatikan standar penulisan perintah pada baris yang aktif dan yang dijadikan komentar di atas.
9 8.3 Pemeriksaan Status Berakhirnya Proses apt-get update void MainWindow::tunjukkan_bahwa_kamu_mati() this->keluarankonsol->insertplaintext("\n\n===proses SELESAI===\n\n"); Ide dasarnya adalah perilaku Synaptic setiap proses instalasi selesai. Dia selalu bisa menayangkan pesan bahwa proses instalasi sudah selesai dan Anda bisa menutup jendelanya. Bagaimana Synaptic tahu bahwa proses bekerja apt sudah berakhir? Qt bisa melakukannya dengan SIGNAL dan SLOT, dengan SIGNAL berisi argumen finished(int) untuk QProcess yang menjalankan apt-get. Artinya, jika QProcess mengeluarkan sinyal finished, maka segera panggil SLOT tunjukkan_bahwa_kamu_mati() di atas. Baris kode di atas akan dikerjakan setelah adanya baris SIGNAL dan SLOT berikut. connect(prosesku, SIGNAL(finished(int)), this, SLOT(tunjukkan_bahwa_kamu_mati())); 8.4. Membuat Standard Output dan Standard Error Dikeluarkan Bersamaan prosesku->setprocesschannelmode(qprocess::mergedchannels); Seperti yang Anda ketahui, apt tidak hanya mengeluarkan pesan output biasa. Ia juga mengeluarkan pesan error jika terjadi error. Pesan error itu dikeluarkan pada kanal yang berlainan dengan output biasa. Nama kanalnya standard output. Sedangkan nantinya aplikasi ini akan dipakai oleh pengguna pemula, sehingga pesan error sangat dibutuhkan. Oleh karena itu, pesan error harus juga bisa ditayangkan sebagaimana pesan output normal. Ini dilakukan dengan menggabungkan kanal standard output dan standard error jadi satu. Method-nya adalah setprocesschannelmode() dengan argumen QProcess::MergedChannels. Ini membuat program menayangkan standard output jika memang dalam keadaan normal dan menayangkan standard error jika memang ada error Lain-Lain Scrollbar Selalu Menggulung Ke Bawah Mengikuti Kursor keluarankonsol->ensurecursorvisible(); Mungkin ini remeh. Tetapi ini penting untuk memudahkan pengguna. Method ensurecursorvisible() memastikan bahwa scrollbar akan selalu menggulung ke bawah mengikuti arah kursor bergerak. Seperti halnya Synaptic ketika instalasi Pembuatan GUI Jika Anda belum memahami pemrograman GUI secara hard coding di Qt, Anda bisa merujuk
10 ke tulisan sebelumnya. Anda bisa mulai dari memahami pembuatan GUI-nya di pemrograman Qt 1 kemudian memahami penulisan header di pemrograman Qt Kesimpulan 1. Pembacaan standard output (dan standard error) secara realtime bisa dilakukan dengan menghubungkan SIGNAL readyread() dan SLOT method readall() pada objek QProcess. 2. Untuk membuat setiap baris standard output dicetak sebagai satu baris pula di QTextEdit, harus digunakan method movecursor() dengan argumen QTextCursor::End pada QTextEdit. 3. Untuk membuat scrollbar bergerak terus ke bawah mengikuti kursor secara realtime, harus digunakan method ensurecursorvisible() pada QTextEdit. 4. Untuk menggabungkan kanal standard output dan standard error, harus digunakan method setprocesschannelmode() dengan argumen QProcess::MergedChannel pada QProcess. 5. Untuk memeriksa masih bekerja atau sudah berhentinya suatu proses, harus digunakan SIGNAL finished(int) pada QProcess dengan SLOT-nya fungsi untuk menulis pesan berakhirnya proses. 10. Unduh Kode Sumber Program kali ini bernama Konsolidasi. Silakan unduh dan buka di Qt Creator Anda. Alamat: Ukuran: 30 KB 11. Referensi Tentang Dokumen Ini Dokumen ini adalah versi PDF dari posting asli Dokumen ini ditulis dengan fonta Ubuntu 12pt. Dokumen ini disusun ulang dengan Libreoffice Writer 3.5. Dokumen ini selesai disusun pada 2 Mei Penulis mohon maaf jika terdapat kesalahan dalam dokumen ini.
11 13. Tentang Penulis Penulis adalah warga Forum Ubuntu Indonesia. Penulis mendukung pendidikan perangkat lunak legal (terutama FOSS) untuk masyarakat. Penulis menyediakan buku-buku panduan Linux untuk pemula maupun ahli untuk diunduh secara gratis 1. Penulis bisa dihubungi via SMS di nomor
Pemrograman Qt 18 QTextStream untuk Membuat Aplikasi Proxy Changer
Pemrograman Qt 18 QTextStream untuk Membuat Aplikasi Proxy Changer Bismillahirrahmanirrahim. Pernahkah Anda menggunakan koneksi internet yang berotentikasi (username dan password) melalui proxy server?
Lebih terperinciPemrograman Qt 17 Pan, Scroll, Zoom, Flip, dan Rotate untuk QGraphicsView
Pemrograman Qt 17 Pan, Scroll, Zoom, Flip, dan Rotate untuk QGraphicsView Bismillahirrahmanirrahim. Tulisan ini adalah kelanjutan dari tutorial sebelumnya dalam hal QGraphicsScene dan QGraphicsView. Kita
Lebih terperinciPemrograman Qt 14 QPropertyAnimation untuk Animasi GUI
Pemrograman Qt 14 QPropertyAnimation untuk Animasi GUI Bismillahirrahmanirrahim. Ubiquity, program pemasang sistem operasi Ubuntu yang kita pakai selalu ketika menginstal, adalah sumber inspirasi program
Lebih terperinciPemrograman Qt 13 Logo Program dengan setwindowicon
Pemrograman Qt 13 Logo Program dengan setwindowicon Bismillahirrahmanirrahim. Aplikasi GUI juga memerlukan ikon program yaitu logo yang selalu berada pada pojok kiri atas di setiap aplikasi. Jika Anda
Lebih terperinciPemrograman Qt 20 QSystemTrayIcon untuk Membuat Aplikasi System Tray
Pemrograman Qt 20 QSystemTrayIcon untuk Membuat Aplikasi System Tray Bismillahirrahmanirrahim. Apa Anda ingin membuat aplikasi system tray? Aplikasi semacam ini punya fasilitas ikon di pojok kiri bawah
Lebih terperinciPemrograman Qt 11 Phonon Framework untuk Memutar Audio OGG Ketika QPushButton Diklik
Pemrograman Qt 11 Phonon Framework untuk Memutar Audio OGG Ketika QPushButton Diklik Ade Malsasa Akbar 26 Oktober 2013 ABSTRAK Bismillahirrahmanirrahim. Aplikasi GUI membutuhkan User Experience Design
Lebih terperinciPemrograman Qt 8 QVBoxLayout, QHBoxLayout, QGridLayout dan Sifat-Sifatnya
Pemrograman Qt 8 QVBoxLayout, QHBoxLayout, QGridLayout dan Sifat-Sifatnya Ade Malsasa Akbar 1 Desember 2013 Ringkasan Bismillahirrahmanirrahim. Kelebihan pemrograman visual adalah adanya layout yang secara
Lebih terperinciPemrograman Qt 10 QTextEdit, QFile, QTextStream, QLabel, Membaca Standard Output Shell, Membaca Berkas, dan Membuat Berkas TXT
Pemrograman Qt 10 QTextEdit, QFile, QTextStream, QLabel, Membaca Standard Output Shell, Membaca Berkas, dan Membuat Berkas TXT Ade Malsasa Akbar 2 Desember 2013 Ringkasan Bismillahirrahmanirrahim. Tulisan
Lebih terperinciPemrograman Qt 9 QProcess dan Menjalankan Perintah Linux
Pemrograman Qt 9 QProcess dan Menjalankan Perintah Linux Ade Malsasa Akbar 2 Desember 2013 Ringkasan Bismillahirrahmanirrahim. Kita bisa mengomando Linux melalui GUI. Bagaimana caranya? Ada banyak cara.
Lebih terperinciPemrograman Qt 12 Kalkulator Sederhana dengan QLineEdit dan Casting QString to int
Pemrograman Qt 12 Kalkulator Sederhana dengan QLineEdit dan Casting QString to int Bismillahirrahmanirrahim. Belajar pemrograman GUI sering kita awali dengan membuat aplikasi kalkulator. Kita menemukannya
Lebih terperinciWujud Program yang Diinginkan
Pemrograman Qt 5 QStackedLayout dan QPushButton untuk Layering (setcurrentindex) Bismillahirrahmanirrahim. Tulisan ini adalah bentuk PDF dari http://malsasa.wordpress.com/2013/08/20/pemrograman-qt-5- qstackedlayout-dan-qpushbutton-untuk-layering-setcurrentindex/.
Lebih terperinciBelajar Menggunakan KDE Edisi 3 Mengenal Menu dan Taskbar
Belajar Menggunakan KDE Edisi 3 Mengenal Menu dan Taskbar Ade Malsasa Akbar 17 November 2013 Ringkasan Bismillahirrahmanirrahim. Tulisan edisi ketiga ini sudah mencapai tahap mengenal banyak elemen penting
Lebih terperinciBelajar Menggunakan KDE Edisi 1 Perkenalan Singkat KDE
Belajar Menggunakan KDE Edisi 1 Perkenalan Singkat KDE Ade Malsasa Akbar 17 November 2013 Ringkasan Bismillahirrahmanirrahim. Sebenarnya saya ingin mempromosikan KDE. Saya ingin membuat post di jejring
Lebih terperinciQt Creator. INF-103 Pemrograman II Program Studi Informatika. Dr. Taufik Fuadi Abidin, M.Tech Irvanizam Zamanhuri, M.Sc
Qt Creator INF-103 Pemrograman II Program Studi Informatika Dr. Taufik Fuadi Abidin, M.Tech Irvanizam Zamanhuri, M.Sc PengantarQt Creator Qt Creatormerupakancross-platformC++integrated development environment
Lebih terperinciPerkenalan Pemrograman GUI di Linux dengan Qt Framework dan Bahasa C++ Ade Malsasa Akbar
Perkenalan Pemrograman GUI di Linux dengan Qt Framework dan Bahasa C++ Ade Malsasa Akbar Pemrograman (I)? Kegiatan untuk menulis kode yang dimengerti oleh komputer. Pemrograman (II)? Pemrograman sama dengan
Lebih terperinciTIPS LATIHAN MEMROGRAM
Pemrograman Qt 2 Mendayagunakan QGroupBox dan QHBoxLayout untuk Membentuk Kolom dalam QDialog Bismillahirrahmanirrahim. Tulisan ini adalah bentuk PDF dari http://malsasa.wordpress.com/2013/07/05/pemrograman-qt-2-
Lebih terperinciWujud Program yang Diinginkan
Pemrograman Qt 3 Mendayagunakan QFrame dan QVBoxLayout untuk Membentuk Kolom Lebih Banyak dalam QDialog Bismillahirrahmanirrahim. Tulisan ini adalah bentuk PDF dari http://malsasa.wordpress.com/2013/07/07/pemrogramanqt-3-mendayagunakan-qframe-dan-qvboxlayout-untuk-membentuk-kolom-lebih-banyakdalam-qdialog/.
Lebih terperinciKoneksi Jaringan Host-Guest Ubuntu-Mint di Virtualbox untuk PING dan Wireshark
Koneksi Jaringan Host-Guest Ubuntu-Mint di Virtualbox untuk PING dan Wireshark Bismillahirrahmanirrahim. Saya ingin mempelajari jaringan dengan hanya berbekal Virtualbox. Saya ingin membuat komputer virtual
Lebih terperinciPemrograman Qt 4 QStackedLayout dan QComboBox untuk Window Layering
Pemrograman Qt 4 QStackedLayout dan QComboBox untuk Window Layering Bismillahirrahmanirrahim. Tulisan ini adalah bentuk PDF dari http://malsasa.wordpress.com/2013/08/03/pemrogramanqt-4-qstackedlayout-dan-qcombobox-untuk-window-layering/.
Lebih terperinciTUGAS 1 Aplikasi Web Dinamis Lanjut. Disusun Oleh : Rina Septiana ( )
TUGAS 1 Aplikasi Web Dinamis Lanjut Disusun Oleh : Rina Septiana (12141380) SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN ILMU KOMPUTER EL RAHMA YOGYAKARTA 2016 A. Composer dan kenapa harus menggunakan Composer?
Lebih terperinciAPLIKASI WEB DINAMIS LANJUT TUGAS 1
APLIKASI WEB DINAMIS LANJUT Nama : Apriyanto Wibowo NIM : 12141362 Soal : TUGAS 1 1. Buatlah tutorial / panduan singkat penggunaan composer pada pengembangan aplikasi Didalam tutorial memuat informasi
Lebih terperinciTutorial L A TEX di Linux (Disertai Contoh)
Tutorial L A TEX di Linux (Disertai Contoh) Ade Malsasa Akbar 30 Januari 2014 Ringkasan Bismillahirrahmanirrahim. L A TEX itu sangat bagus untuk menulis dokumen apa pun. Bahkan bisa jadi lebih bagus dari
Lebih terperinciSekilas C DAN C++ DISUSUN OLEH. Sebuah bahasa, yaitu: 1. Bahasaa tingkat tinggi. High. dapat. lunak
DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S..Kom. DIKTAT MATAA KULIAH PEMROGRAMAN I BAB I PENDAHULUAN C DAN C++ IF Sekilas Tentang C dan C+ ++ Sebuah bahasa pemrograman dapat dikategorikan ke dalam tiga level
Lebih terperinciPemrograman Aplikasi GUI dengan Framework Qt (5.0.1) Penulis: Zulhaj Aliyansyah
Pemrograman Aplikasi GUI dengan Framework Qt (5.0.1) Penulis: Zulhaj Aliyansyah Laboratorium Informatika dan Komputer Teknik Elektro Universitas Brawijaya April 2013 1 Qt adalah framework pengembangan
Lebih terperinciPanduan Pengguna untuk AllDeb Installer
Panduan Pengguna untuk AllDeb Installer Panduan singkat penggunaan alldeb installer versi Qt PENGEMBANG ALLDEB INSTALLER SB 2014 DAFTAR ISI 1 Pengantar 1 1.1 Seluk Beluk AllDeb..................................
Lebih terperinciPRAKTIKUM SISTEM OPERASI TEKNIK INFORMATIKA
PRAKTIKUM SISTEM OPERASI TEKNIK INFORMATIKA LABORATORIUM TEKNOLOGI INFORMASI DAN APLIKASI PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS TRUNOJOYO MADURA TAHUN AJARAN 2015-2016 / GANJIL i
Lebih terperinciAplikasi Web Dinamis Lanjut
Aplikasi Web Dinamis Lanjut Tugas 1 NIM : 12141378 NAMA : REZA BAYU PERMANA PROGRAM STUDI : TEKNIK INFORMATIKA SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN ILMU KOMPUTER EL-RAHMA YOGYAKARTA 2016 1. Buatlah
Lebih terperinciFTP (File Transfer Protokol) merupakan salah satu cara kita berkomunikasi dengan remote komputer. Pada postingan ini saya akan berbagi tutorial
FTP (File Transfer Protokol) merupakan salah satu cara kita berkomunikasi dengan remote komputer. Pada postingan ini saya akan berbagi tutorial cara membuat FTP server pada sistem operasi ubuntu 11.10,
Lebih terperinciPanduan Pemaketan Debian Termudah (Disertai Contoh)
Panduan Pemaketan Debian Termudah (Disertai Contoh) Bismillahirrahmanirrahim. Panduan ini menuntun Anda untuk bisa membuat paket Debian.deb sendiri dengan cara yang termudah. Panduan ini ditulis untuk
Lebih terperinciNama : Badiah Setyowati NIM :
Nama : Badiah Setyowati NIM : 12141363 ----------------------------------------------- Tugas 1 Web Dinamis 1. Composer Composer merupakan dependencies manager. Sebuah project open source yang dimotori
Lebih terperinciTUGAS 1 Aplikasi Web Dinamis Lanjut Mengenal Composer dan GitHub
TUGAS 1 Aplikasi Web Dinamis Lanjut Mengenal Composer dan GitHub Disusun Oleh Slamet Sudiman (12141429) SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN ILMU KOMPUTER EL RAHMA YOGYAKARTA 2015 1. Buatlah tutorial
Lebih terperinciVisual Basic (VB) Tatik yuniati. Abstrak.
Visual Basic (VB) Tatik yuniati Tatikyuniati10@yahoo.co.id Abstrak Visual Basic adalah generasi ketiga -event bahasa pemrograman dan lingkungan pengembangan terpadu (IDE) dari Microsoft untuk perusahaan
Lebih terperinciTugas 1 Web Dinamis Lanjut COMPOSER DAN GITHUB. Imam Abdul Lathif TI-Malam
Tugas 1 Web Dinamis Lanjut COMPOSER DAN GITHUB Imam Abdul Lathif 12141371 TI-Malam Membuat Tutorial Singkat penggunaan Composer pada pengembangan aplikasi Gambar 1. Logo Composer 1. Apa itu Composer? Composer
Lebih terperinciTUGAS 1 WEB DINAMIS LANJUT
TUGAS 1 WEB DINAMIS LANJUT Di Susun Oleh : Andi nur Arifin ( 12141397 ) SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN ILMU KOMPUTER EL RAHMA YOGYAKARTA 2016 COMPOSER A. Apa itu Composer Composer adalah manajemen
Lebih terperinciCara Mudah Menggunakan Ubuntu 11.10
Cara Mudah Menggunakan Ubuntu 11.10 Resti Alvianingrum rt.rhestyalviabin@gmail.com Abstrak Ubuntu merupakan salah satu distribusi Linux yang berbasiskan Debian dan didistribusikan sebagai software bebas.
Lebih terperinciAP2B Dini Triasanti STRUKTUR PEMROGRAMAN PYTHON
STRUKTUR PEMROGRAMAN PYTHON 1. Aturan Penulisan Program-program yang ditulis dalam Python secara khas jauh lebih pendek dibandingkan dengan program-program C atau C++, karena beberapa pertimbangan: tipe
Lebih terperinciAbstrak. yaitu. yang. awal. pemrograman, c++ Programming). Copyright ilmuti.org Seluruh disertakan dalam. setiap
Pengenalan Bahasa Pemrograman C+ ++ Iman Amalludin iman.llusion@gmail.com ::: http://blog.imanllusion.hostzi.com Abstrak C++ adalah bahasa pemrograman komputer C++ + dikembangkan di Bell Labs (Bjarne Stroustrup)
Lebih terperinciMalang, Januari 2007 Penulis
Kata Pengantar Visual Basic merupakan salah satu bahasa pemrograman yang paling banyak digunakan saat ini. Penggunaannya tidak hanya terbatas pada pembuatan aplikasi-aplikasi baru saja, melainkan juga
Lebih terperinciPENDAHULUAN. Gambar 1.1. GameMaker dari YoyoGames
PENDAHULUAN GameMaker adalah alat bantu pembuatan game yang diciptakan oleh yoyogames.com. Software ini lebih luas pemakaiannya dibanding dengan FPS Creator yang hanya menghasilkan permainan tembak-menembak
Lebih terperinciBAB 2 LANDASAN TEORI. Perangkat lunak adalah perintah ( program komputer ) yang bila dieksekusi
BAB 2 LANDASAN TEORI 2.1 Pengertian Perangkat Lunak Perangkat lunak adalah perintah ( program komputer ) yang bila dieksekusi memberikan fungsi dan unjuk kerja seperti yang diinginkan, struktur data yang
Lebih terperinciPengujian Perangkat Lunak
Pengujian Perangkat Lunak Shinta P. Sari White Box Pengujian white-box berfokus pada struktur kontrol program. Test case dilakukan untuk memastikan bahwa semua statement pada program telah dieksekusi paling
Lebih terperinciTUGAS 1 WEB DINAMIS LANJUT. Nama : Parisaktiana Fathonah NIM : Link : https://github.com/fathonah/wdl
TUGAS 1 WEB DINAMIS LANJUT Nama : Parisaktiana Fathonah NIM : 12131276 Link : https://github.com/fathonah/wdl12131276 1. Composer a. Pengertian Composer Composer adalah package manager untuk php. Hal ini
Lebih terperinciTugas Rekayasa Perangkat Lunak Berorientasi Obyek Review IDE untuk Java (NetBeans, Eclipse, Intellij IDEA)
Tugas Rekayasa Perangkat Lunak Berorientasi Obyek Review IDE untuk Java (NetBeans, Eclipse, Intellij IDEA) Dengan semakin diminatinya pemrograman berorientasi obyek untuk membangun perangkat lunak menyebabkan
Lebih terperinciTUGAS 1 APLIKASI WEB DINAMIS LANJUT. Nama : ARISTIAN NUGROHTOMO NIM :
TUGAS 1 APLIKASI WEB DINAMIS LANJUT Nama : ARISTIAN NUGROHTOMO NIM : 12141400 SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN ILMU KOMPUTER EL RAHMA YOGYAKARTA 2016 1. Apa itu Composer? Mungkin yang namanya composer
Lebih terperinciBAB 3 Mengenali Lingkup Pemrograman Anda
BAB 3 Mengenali Lingkup Pemrograman Anda 3.1 Tujuan Dalam bagian ini, kita akan membahas tentang bagaimana menulis, mengkompilasi dan menjalankan program Java. Terdapat dua cara dalam melakukannya, yang
Lebih terperinciLAPORAN PRAKTIKUM PERTENGAHAN SEMESTER (LAB. ACTIVITY) ALGORITMA & PEMROGRAMAN TEKNIK INFORMATIKA. Oleh: NIM : Materi:
LAPORAN PRAKTIKUM PERTENGAHAN SEMESTER (LAB. ACTIVITY) ALGORITMA & PEMROGRAMAN TEKNIK INFORMATIKA Oleh: NIM : Materi: Pengenalan Bahasa Java Mengenali Lingkup Pemrograman Dasar-dasar Pemrograman Mendapatkan
Lebih terperinciInstalasi Framework Laravel di Windows dan di Linux Ubuntu
Instalasi Framework Laravel di Windows dan di Linux Ubuntu Abdul Rohman admin@abdulrohman.web.id :: http://www.abdulrohman.web.id Abstrak Tidak seperti instalasi framework PHP kebanyakan, dimana Anda bisa
Lebih terperinciTabel 1. Instruksi untuk menampilkan teks No. Bahasa Pemrograman Instruksi 1. Pascal WRITE ( Bahasa pemrograman itu mudah );
PERTEMUAN I BAHASA PEMROGRAMAN JAVA DAN PENGENALAN NETBEANS 1. Program dan Bahasa Pemrograman Di dalam dunia komputer sering kali dijumpai istilah program dan bahasa pemrograman. Kedua istilah tersebut
Lebih terperinciCARA INSTALL DAN REMOVE APLIKASI. Pemerintah Daerah Kabupaten Sleman repo.slemankab.go.id
CARA INSTALL DAN REMOVE APLIKASI Pemerintah Daerah Kabupaten Sleman cara menginstal dan remove/uninstall aplikasi ada beberapa cara yang akan dijelaskan dalam panduan ini terutama adalah linux yang menggunakan
Lebih terperinciBAB IV IMPLEMENTASI DAN PENGUJIAN
BAB IV IMPLEMENTASI DAN PENGUJIAN 4.1 Instalasi Software Dalam penulisan tugas akhir ini, pembuatan program dibuat dengan menggunakan aplikasi pendukung seperti: Web Server, aplikasi pengelolaan sampah
Lebih terperinciPemrograman PHP7 untuk Pemula
Pemrograman PHP7 untuk Pemula Sanksi Pelanggaran Pasal 113 Undang-Undang Nomor 28 Tahun 2014 tentang Hak Cipta 1. Setiap Orang yang dengan tanpa hak melakukan pelanggaran hak ekonomi sebagaimana dimaksud
Lebih terperinciModul Praktikum 1 Pemograman Berorientasi Objek
Modul Praktikum 1 Pemograman Berorientasi Objek 1. Judul : Mengenal Lingkup Pemograman 2. Tujuan Percobaan : Diakhir praktikum, mahasiswa diharapkan mampu : Menuliskan program Java menggunakan text editor
Lebih terperinciGambar 4.17 Instalasi Modem Nokia 6100 Install From Disk
80 Pilih Have Disk Gambar 4.16 Instalasi Modem Nokia 6100 Install New Modem Pilih Browse Gambar 4.17 Instalasi Modem Nokia 6100 Install From Disk 81 Pilih driver modem kemudian klik Open Gambar 4.18 Instalasi
Lebih terperinciPANDUAN INSTALASI CLIENT KUNANG-KUNANG DIGITAL SIGNAGE (LINUX SYSTEM) 16 Maret 2015
PANDUAN INSTALASI CLIENT KUNANG-KUNANG DIGITAL SIGNAGE (LINUX SYSTEM) 16 Maret 2015 A) PERSYARATAN 1. Linux Ubuntu maupun turunannya (misalnya Linux Mint, Linux Zorin, Edubuntu, dan lain-lain) 2. Versi
Lebih terperinci[ KP215 - Otomasi Perkantoran ]
[ KP215 - Otomasi Perkantoran ] Pengenalan Libre Office dan Cara Kerja Writer [KP215 - Otomasi Perkantoran] Perangkat Lunak Perkantoran Proprietary : Microsoft Office { Word, Power Point, Excel...} IBM
Lebih terperinciCara Membaca File Text di JAVA
Cara Membaca File Text di JAVA Memanipulasi file teks adalah keterampilan yang akan melayani Anda dengan baik dalam karir pemrograman Anda. Pada bagian ini, Anda akan belajar bagaimana untuk membuka dan
Lebih terperinciModul : Antarmuka. 2.1 Pelajaran : Pengenalan Singkat Bagaimana menggunakan tutorial ini BAB 2
BAB 2 Modul : Antarmuka 2.1 Pelajaran : Pengenalan Singkat Selamat datang di kursus kami! Selama beberapa hari ke depan, kami akan menunjukkan kepada Anda bagaimana untuk menggunakan QGIS secara mudah
Lebih terperinciTEORI. Gbr. Shell berhubungan langsung dengan kernel sistem operasi
TEORI Gbr. Shell berhubungan langsung dengan kernel sistem operasi 1. Shell Shell adalah program (penterjemah perintah) yang menjembatani user dengan sistem operasi. Dalam hal ini kernel (inti sistem operasi),
Lebih terperinciSistem Manajemen Paket Ubuntu
Buku Pegangan Kursus Teknoplasma Sistem Manajemen Paket Ubuntu Tingkat Pemula Senin 08 Agustus 2017 Ade Malsasa Akbar teknoloid@gmail.com kursusteknoplasma.wordpress.com CC BY-SA 3.0 Bismillahirrahmanirrahim.
Lebih terperinciStruktur Data dan Algoritma IKI10400 Semester Gasal 2010/2011 Fakultas Ilmu Komputer Universitas Indonesia
Tugas 0 Mencoba Pengumpulan Pekerjaan ke Server Aren dan Review Pemrograman Java Struktur Data dan Algoritma IKI10400 Semester Gasal 2010/2011 Fakultas Ilmu Komputer Universitas Indonesia Batas waktu pengumpulan
Lebih terperinciBAB IV HASIL DAN UJI COBA
BAB IV HASIL DAN UJI COBA IV.1. Hasil Berikut ini dijelaskan tentang tampilan hasil dari rancangan implementasi knowledge management system berbasis web tentang import hortikultura pada PT. Lintas Buana
Lebih terperinciAplikasi Web Dinamis Lanjut
TUGAS 1 Aplikasi Web Dinamis Lanjut Disusun Oleh : RAHMAD HIDAYAT (12141377) SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN ILMU KOMPUTER EL RAHMA YOGYAKARTA 2016 Tugas 1 Web Dinamis Lanjut 1. Buatlah tutorial
Lebih terperinciBAB I PENDAHULUAN 1.1 Latar Belakang PT. LINKIT360 adalah perusahaan yang bergerak dibidang Teknologi Informasi dan Komunikasi. Saat ini PT. LINKIT360 sudah menjalankan bisnis di 7 negara. Salah satu jenis
Lebih terperinciTutorial Instalasi dan Konfigurasi Network
Tutorial Instalasi dan Konfigurasi Network Time Protocol Oleh : Vanesa Anandari Putri Definisi NTP NTP merupakan kepanjangan dari Network Time Protocol adalah sebuah protokol yang digunakan untuk pengsinkronan
Lebih terperinciINSTALASI PROGRAM SECARA ONLINE
INSTALASI PROGRAM SECARA ONLINE Pilih online repository tercepat Bila anda terkoneksi dengan internet, lakukan langkah ini. Bila tidak, lanjutkan ke bab Offline Instalation. Klik System > Administration
Lebih terperinciBAB IV IMPLEMENTASI SISTEM
BAB IV IMPLEMENTASI SISTEM 4.1 Pengertian Implementasi Sistem Implementasi sistem adalah suatu prosedur yang dilakukan untuk menyelesaikan sistem yang ada dalam dokumen rancangan sistem yang telah disetujui
Lebih terperinciSekilas Tentang Sistem Aplikasi
Sekilas Tentang Sistem Aplikasi Sistem Pengelolaan Database Jalan Propinsi Dan Kabupaten/Kota yang disingkat menjadi SipDJD, adalah sebuah sistem aplikasi yang dibangun dengan tujuan untuk memudahkan komunikasi
Lebih terperinciPerintah Dasar Terminal GNU/Linux
Buku Pegangan Kursus Teknoplasma Perintah Dasar Terminal GNU/Linux Tingkat Pemula Minggu 06 Agustus 2017 Ade Malsasa Akbar teknoloid@gmail.com kursusteknoplasma.wordpress.com CC BY-SA 3.0 Bismillahirrahmanirrahim.
Lebih terperinciAbstrak. Pendahuluan. cerita. Pemrograman. mewakili semua. Struktur Bahasa. dan deklarasi. Mari. ilmuti.org Seluruh disertakan dalam
Struktur Bahasa Pemrograman C++ Iman Amalludin iman.llusion@gmail.com ::: http://blog.imanllusion.hostzi.com Abstrak Hai hai kembali lagi melanjutkan artikel sebelumnya tentang pengenalan dan sedikit cerita
Lebih terperinci1. TUJUAN Untuk menjaga agar kualitas semua produk yang diluncurkan berikut versi-versinya tetap konsisten.
1. TUJUAN Untuk menjaga agar kualitas semua produk yang diluncurkan berikut versi-versinya tetap konsisten. 2. RUANG LINGKUP Semua produk perangkat lunak dan hasil-hasil pemutakhiran yang dikeluarkan oleh
Lebih terperinciKurikulum Qt. Chapter 5 Pointer dan References. Agenda. Apa itu Pointer? Memory Komputer. Mengambil Alamat Memory dari Variabel
Chapter 5 Pointer dan References Agenda Pada chapter ini kita akan membahas beberapa topik yang berhubungan dengan pointer dan reference yaitu: Penggunaan Pointer. Pointer dan Array. Mengalokasikan memory
Lebih terperinciTUGAS 1 WEB DINAMIS LANJUT
TUGAS 1 WEB DINAMIS LANJUT Disusun oleh : NIM : 12131349 NAMA : SURYADI PROGRAM STUDI : TEKNIK INFORMATIKA JENJANG : SARJANA SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN ILMU KOMPUTER EL RAHMA YOGYAKARTA 2016
Lebih terperinciTUTORIAL DASAR C++ BELAJAR C++ DARI NOL. Nor Kandir. Lab B201 - Teknik Elektro ITS Surabaya
TUTORIAL DASAR C++ BELAJAR C++ DARI NOL Nor Kandir Lab B201 - Teknik Elektro ITS Surabaya Daftar Isi Daftar Isi... 1 Pendahuluan... 2 Kegunaan... 2 Persiapan... 3 Mulai Belajar... 3 Tipe Data... 6 Ekpresi
Lebih terperinciMODUL PRAKTIKUM KE 1
MODUL PRAKTIKUM KE 1 A. Target Praktikum 1. Mengenal bahasa pemrograman JAVA. 2. Mampu membuat kelas sederhana dengan bahasa pemrograman JAVA. 3. Mengerti penggunaan komentar dalam bahasa pemrograman JAVA.
Lebih terperinciBab 5. Cascading Style Sheet (CSS)
Bab 5. Cascading Style Sheet (CSS) Overview Cascading Style Sheets (CSS) adalah suatu bahasa stylesheet yang digunakan untuk mengatur tampilan sebuah dokumen yang ditulis dalam bahasa markup. CSS diperkenalkan
Lebih terperinciTutorial Instalasi Wordpress dengan XAMPP di Ubuntu Maverick
Tutorial Instalasi Wordpress dengan XAMPP di Ubuntu Maverick Kali ini kita akan belajar menginstal paket Apache, MySQL, dan PHP dari Apachefriends, XAMPP, sekaligus menginstal Wordpress di Maverick. Kita
Lebih terperinciBAB IV HASIL DAN PEMBAHASAN. Dalam pembuatan alat ini penulis menggunakan webcam dengan merk. Gambar 4.1 Webcam dengan merk creative
BAB IV HASIL DAN PEMBAHASAN Dalam pembuatan alat ini penulis menggunakan webcam dengan merk creative seperti gambar dibawah ini: Gambar 4.1 Webcam dengan merk creative Untuk membuat webcam agar menjadi
Lebih terperinciProgram Penghitungan II Dengan Java
P E M O G R M A N J A V A I I I 1 Program Penghitungan II Dengan Java Tugas ini disusun untuk memenuhi salah satu mata kuliah yang di berikan oleh Bapak Aan Dwianta Disusun oleh : Restina Rachmawati NPM:
Lebih terperinci: KEVIN DION ANDRE PRADANA NIM : LAPORAN : BAB II TANGGAL : 03/10/2016 ASISTEN : BINTI LUKLUIL MAKNUNIN
LABORATORIUM PEMBELAJARAN ILMU KOMPUTER FAKULTAS ILMU KOMPUTER UNIVERSITAS BRAWIJAYA NAMA : KEVIN DION ANDRE PRADANA NIM : 155150200111162 LAPORAN : BAB II TANGGAL : 03/10/2016 ASISTEN : BINTI LUKLUIL
Lebih terperinciTUGAS 1 APLIKASI WEB DINAMIS LANJUT
TUGAS 1 APLIKASI WEB DINAMIS LANJUT NIM :12141413 NAMA :JENI HARYANTO PRODI :TEKNIK INFORMATIKA SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN ILMU KOMPUTER EL RAHMA YOGYAKARTA 2016 COMPOSER A. Apa itu Composer?
Lebih terperinciKonsep Dasar Pemrograman Dan Pengenalan C++
PRAKTIKUM 1 DAN 2 Konsep Dasar Pemrograman Dan Pengenalan C++ I. KONSEP DASAR PEMROGRAMAN Program adalah deretan instruksi yang digunakan untuk mengendalikan komputer, sehingga komputer dapat melakukan
Lebih terperinciBAB I PERSYARATAN PRODUK
1 BAB I PERSYARATAN PRODUK 1. 1 Pendahuluan Keberadaan usaha warung internet (warnet) saat ini mulai menjamur di manamana. Hal ini dikarenakan kebutuhan informasi menjadi sesuatu yang sangat dibutuhkan
Lebih terperinciPRAKTIKUM 1. Untuk membuat program, prosedur yang harus dilewati adalah: 1. Menentukan logika jalannya program, sering disebut algoritma.
PRAKTIKUM 1 1.1 JUDUL Mengenal Algoritma dan Pemrograman Bahasa C 1.2 TUJUAN Pada akhir perkuliahan ini mahasiswa akan dapat: Menjelaskan tahapan-tahapan Pembuatan Program Menulisa algoritma dan menggambar
Lebih terperinciBAB IV IMPLEMENTASI DAN EVALUASI SISTEM. program agar menghasilkan sistem yang sesuai dengan analisis dan perancangan.
92 BAB IV IMPLEMENTASI DAN EVALUASI SISTEM 4.1 Kebutuhan Sistem Implementasi sistem adalah tahap selanjutnya dari proses analisis dan perancangan sistem. Implementasi sistem merupakan tahap menuliskan
Lebih terperinciBAB IV IMPLEMENTASI DAN EVALUASI. Sistem yang dibangun pengembang adalah berbasis web. Untuk dapat
BAB IV IMPLEMENTASI DAN EVALUASI 4.1 Kebutuhan Implementasi Sistem yang dibangun pengembang adalah berbasis web. Untuk dapat menjalankan sistem tersebut dengan baik dibutuhkan beberapa persyaratan mengenai
Lebih terperinciBAB 1 KONSEP DASAR BAHASA C
BAB 1 KONSEP DASAR BAHASA C 1. Sejarah dan Standar C Akar dari bahasa C adalah bahasa BCPL yang dikembangkan oleh Martin Richard pada tahun 1967. Bahasa ini memberikan ide kepada Ken Thompson yang kemudian
Lebih terperinciMODUL 1 INSTALASI PAKET JAVA DAN PROGRAM SEDERHANA
MODUL 1 INSTALASI PAKET JAVA DAN PROGRAM SEDERHANA A. Target Pembelajaran 1. Siswa mampu menginstal JDK 2. Siswa mampu menjalankan eclipse 3. Siswa mampu membuat program sederhana B. Materi 1. Pengenalan
Lebih terperinciBAB 3 Mengenali Lingkup Pemrograman Anda
BAB 3 Mengenali Lingkup Pemrograman Anda 3.2 Tujuan Dalam sesi ini, kita akan membahas tentang bagaimana menulis, meng-compile dan menjalankan(run) program Java. Terdapat 2 cara dalam melakukannya, yang
Lebih terperinciPengantar Pemrograman Dengan C++
Pengantar Pemrograman Dengan C++ Pengantar Apa itu program? Bagaimanakah membuatnya? Jika sudah dibuat, apakah gunanya? Mungkin itu adalah pertanyaan pertanyaan dari orang orang yang baru saja mengenal
Lebih terperinciBahasa Pemrograman Sejarah singkat C++ Struktur program C++ Yoannita
DASAR PEMROGRAMAN Bahasa Pemrograman Sejarah singkat C++ Struktur program C++ Yoannita Bahasa Pemrograman Apa yang dimaksud bahasa pemrograman? Alat yang digunakan programmer untuk memberikan instruksi
Lebih terperinciPart 2 - Algoritma & Pemrograman Konsep dasar Pemrograman
Part 2 - Algoritma & Pemrograman Konsep dasar Pemrograman Apa itu Program? Program adalah deretan instruksi yang digunakan untuk mengendalikan komputer, sehingga komputer dapat melakukan tindakan sesuai
Lebih terperinciPENGENALAN C++ Bab 1
PENGENALAN C++ Bab 1 1.1 SEJARAH C++ Bahasa C++ diciptakan oleh Bjarne Stroustrup di AT&T Bell Laboratories awal tahun 1980-an berdasarkan C ANSI (American National Standard Institute). Pertama kali, prototype
Lebih terperinciPemrograman Qt 6 Membuat Program GUI Sederhana Menggunakan Sebanyak Mungkin Kelas (QStackedLayout, QPushButton, QLabel, QComboBox, dan Lainnya)
Pemrograman Qt 6 Membuat Program GUI Sederhana Menggunakan Sebanyak Mungkin Kelas (QStackedLayout, QPushButton, QLabel, QComboBox, dan Lainnya) Bismillahirrahmanirrahim. Tulisan ini adalah bentuk PDF dari
Lebih terperinciBuku Panduan Penggunaan Aplikasi SKI
2012 Buku Panduan Penggunaan Aplikasi SKI Aplikasi KM & SKI Online Versi 1.3 Telkom Management Consulting Center PT. Telekomunikasi Indonesia, Tbk. Daftar Isi Daftar Isi... i 1. Konfigurasi Pengguna...
Lebih terperinciBAB III PERANCANGAN SIMULASI
BAB III PERANCANGAN SIMULASI Pada bagian ini akan menjelaskan mengenai perancangan dari simulasi yang dilakukan. 3.1 Perangkat Keras Yang Digunakan Berikut ini adalah perangkat keras yang digunakan untuk
Lebih terperinciBAB 2 TINJAUAN PUSTAKA
BAB 2 TINJAUAN PUSTAKA 2.1 Simulasi 2.1.1 Pengertian Simulasi Simulasi merupakan salah satu cara untuk memecahkan berbagai persoalan yang dihadapi di dunia nyata (real world). Banyak metode yang dibangun
Lebih terperinciPETUNJUK SINGKAT INSTALASI DAN PENGGUNAAN IGN 2009
PETUNJUK SINGKAT INSTALASI DAN PENGGUNAAN IGN 2009 TIM PENGEMBANG IGN 2009 PUSLIT INFORMATIKA LIPI PETUNJUK SINGKAT INSTALASI IGN 2009 Pendahuluan IGN 2009 adalah salah satu distro linux yang dikembangkan
Lebih terperinciAplikasi ideb Viewer Sistem Layanan Informasi Keuangan (SLIK)
PANDUAN PENGGUNAAN Aplikasi ideb Viewer Sistem Layanan Informasi Keuangan (SLIK) Petunjuk Penggunaan Aplikasi ideb Viewer 0 Petunjuk Penggunaan Aplikasi ideb Viewer 1 DAFTAR ISI Informasi Revisi... Error!
Lebih terperinciTUGAS 1 APLIKASI WEB DINAMIS LANJUTAN. Mengenal Composer dan Github
TUGAS 1 APLIKASI WEB DINAMIS LANJUTAN Mengenal Composer dan Github Oleh : SITI NUR UTAMI 12141428 TEKNIK INFORMATIKA / 5 SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN ILMU KOMPUTER EL RAHMA YOGYAKARTA 2016
Lebih terperinciP - 3 Bab 2 : Pengantar Pemrograman C
P - 3 Bab 2 : Pengantar Pemrograman C 2.1 Tujuan Mahasiswa dapat mengetahui dan memahami sejarah bahasa C, struktur program C dan alur eksekusi program C 2.2 Materi 1. Sejarah C 2. Interprenter dan Compiler
Lebih terperinci