Saat pikiran manusia berantakan

Saya mau curhat saja. pagi ini tidak ada yg bisa saya bagikan seputar programming. bukan tidak ada yg bisa, tapi tidak bisa. pikiran saya sangat penat. beberapa hal mesti saya pikirkan.

bermula dari beberapa tahun lalu. cengar-cengir seorang kawan. masih ingat di dalam otak saya. mengubah arah kemana saya melangkah. itu satu dosa. berfikir ingin menguasai. berfikir bagaimana mencari uang yang banyak. berfikir bagaimana menjegal. bermula dari cengir manisnya.

dia tidak salah. dia hanya sedang mencari jalan. yang salah adalah saya. saya mengijinkan diri saya menuruti ambisi saya.

kini, saat ini, saya sedang butuh pertolongan. saya saat ini tak jarang bangun siang. bahkan, saya pernah bangun jam 3 sore. tak ada ibadah dari semenjak saya tertidur. saya membenamkan diri pada dosa. tak ada getaran dalam hati di saat menyebut nama Allah. tak ada kerinduan saat disebut nama Rasulullah. aku merindukan rindu itu.

 

apa dosa saya ?

itu yg saat ini saya pikirkan. mencoba mencari kesalahan diri. membuat list dan hingga detik ini belum saya temukan. bukan tidak ada dosa yang berhasil saya temukan, namun saya seakan harus menemukan satu dosa yang menjadi biangkeladi dari tumpukan dosa yang saya lakukan ini.

 

pagi semuanya.

 

Advertisements

Post from Qt5

#include <QCoreApplication>
#include <QDebug>
#include <QNetworkAccessManager>
#include <QNetworkRequest>
#include <QNetworkReply>
#include <QUrl>
#include <QUrlQuery>
void sendRequest();
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    sendRequest();
    return 0;// a.exec();
}
void sendRequest(){
   QByteArray data;
    QUrlQuery params;
    params.addQueryItem("param1", "value1");
    params.addQueryItem("param2", "value2");
    params.addQueryItem("param3", "value3");
    data.append(params.toString());
    qDebug()<<data;
    QEventLoop eventLoop;
    QNetworkAccessManager manager;
    QObject::connect(&manager, SIGNAL(finished(QNetworkReply*)), &eventLoop, SLOT(quit()));
    QNetworkRequest request(QUrl("http://mars.dev/test"));
    request.setHeader(QNetworkRequest::ContentTypeHeader,QStringLiteral("application/x-www-form-urlencoded"));
    QNetworkReply *reply = manager.post(request,data);
    qDebug()<<"tunggu";
    eventLoop.exec(); // tunggu hingga request finish
    if (reply->error() == QNetworkReply::NoError) {
        //success
        qDebug() << "Success" <<reply->readAll();
        delete reply;
    }
    else {
        //failure
        qDebug() << "Failure" <<reply->errorString();
        delete reply;
    }
    qDebug()<<"selesai";
}

 

Catatan tentang Perangsang. [Repost]

Kebanyakan para petani khususnya petani buah-buahan pasti seringkali menggunakan Perangsang Buah ataupun Perangsang Pembungaan untuk memacu bunga atau kembang supaya dapat berbuah lebat.

Tapi tahukan anda bahwa Perangsang buah atau perangsang pembungaan dapat kita buat dan tanpa membeli dan mengeluarkan banyak uang, juga yang paling utama hal ini dilakukan dengan cara alami dan hanya satu bahan yang mungkin agak susah didapat tetapi masih banyak terdapat ditempat-tempat tertentu/CIU.
Berikut caranya :
Bahan :
      Kuning telor 4 butir
      Susu Kental Manis putih 1 kaleng
      Madu 1 sdm
      Ciu (sejenis minuman keras/ hasil fermentasi) 1 liter (bisa diganti dengan hasil air fermentasi lainnya seperti : fermentasi tape, fermentasi nira dll)
      Air sumur 5 liter
Cara Pembuatan :
      Kuning telor dikocok sampai halus (mixer)
      Masukan susu dan madu, kocok sampai rata
      Masukan air sumur, dan Ciu aduk rata
Dosis :
1 gelas (200-220ml) : 14 liter air

Manfaat Ciu / alkohol bagi tanaman = Sterilisasi pada tumbuhan (mengurangi dan menghentikan pertumbuhan mikroba pengganggu pada tumbuhan terutama pada daun dan batang, seperti, bercak daun (penyakit blas), jamur/khamir/cendawan serta spora organisme penyakit

Aplikasi :
Semprotkan tanaman yang ingin dibungakan (Semua jenis tanaman buah).
Peringatan :
Mohon untuk tidak disemprotkan pada tanaman sayuran karena tanaman sayur yang diambil adalah daunnya yang akan berefek pada munculnya bunga pada sayuran tersebut.
saya repost hanya untuk mencegah post lama hilang dan akan susah dicari lagi. 🙂

Prosedure MySQL pertamaku.

fasilitas ini sebenernya fasilitas kuno yang tersedia di mysql. cuman kali ini aja kayaknya butuh prosedur untuk menginput datanya. so, belajar dulu. dan alhamdulillah berhasil sesuai dengan yang diinginkan. 🙂

 

ini dia prosedure buatan saya:

DELIMITER $$

DROP PROCEDURE IF EXISTS `save_state`$$
CREATE
/*[DEFINER = { user | CURRENT_USER }]*/
PROCEDURE `kang_aep`.`save_state`(id_line VARCHAR(10),
fg_qty INT,
ng_qty INT,
er_qty INT)
/*LANGUAGE SQL
| [NOT] DETERMINISTIC
| { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
| SQL SECURITY { DEFINER | INVOKER }
| COMMENT ‘string’*/
BEGIN
DECLARE last_id INT(11) DEFAULT 0;
DECLARE last_fg INT(11) DEFAULT 0;
DECLARE last_ng INT(11) DEFAULT 0;
DECLARE last_er INT(11) DEFAULT 0;
DECLARE newNG BOOL DEFAULT FALSE;
SELECT MAX(t_counting_id)
INTO last_id
FROM t_counting
WHERE t_counting.`line_id` = id_line;

SELECT t_counting_id,
COALESCE( fg_quantity,0),
COALESCE(ng_quantity,0),
COALESCE(e_quantity,0)
INTO last_id, last_fg, last_ng, last_er
FROM t_counting
WHERE t_counting.`line_id` = id_line
AND t_counting_id = last_id;

WHILE last_fg < fg_qty DO
SET last_fg := last_fg + 1;
INSERT INTO t_counting(line_id,ng_quantity, fg_quantity,e_quantity, TYPE)
VALUE(id_line, last_ng, last_fg, last_er, “FG”);
END WHILE;

WHILE last_ng < ng_qty DO
SET last_ng := last_ng + 1;
INSERT INTO t_counting(line_id,ng_quantity, fg_quantity,e_quantity, TYPE)
VALUE(id_line, last_ng, last_fg, last_er, “NG”);
SET newNG := TRUE;
END WHILE;

WHILE last_er < er_qty DO
SET last_er := last_er + 1;
INSERT INTO t_counting(line_id,ng_quantity, fg_quantity,e_quantity, TYPE)
VALUE(id_line, last_ng, last_fg, last_er, “ER”);
END WHILE;
IF newNG THEN
INSERT INTO `t_message`(`number`, `message`)
(SELECT `telp`, CONCAT(“Telah terdeteksi metal di line (“, `linename` ,”), plan (“, `planname`, “) sejumlah “, `ng_quantity`, “pcs dengan klaim error sejumlah “, `e_quantity`, “pcs.”) message
FROM `v_pre_sms` WHERE `v_pre_sms`.`line_id` = id_line);
INSERT INTO outbox(`DestinationNumber`, `TextDecoded`)
(SELECT `telp`, CONCAT(“Telah terdeteksi metal di line (“, `linename` ,”), plan (“, `planname`, “) sejumlah “, `ng_quantity`, “pcs dengan klaim error sejumlah “, `e_quantity`, “pcs.”) message
FROM `v_pre_sms` WHERE `v_pre_sms`.`line_id` = id_line);
END IF;
END$$

DELIMITER ;

alhamdulillah berjalan dengan baik sekali. 🙂

Tutorial Integrasi C++/Qt5 dengan QML.

pagi ini saya bermain-main dengan QML untuk menampilkan data. mungkin sebagian belum familiar dengan QML. yang tidak tahu, boleh cari info di google. gak apa-apa. bukan ilmu agama yang mengharuskan bersanad. cayoo…

QML itu semacam css3. cuman gak pake div-div-an.  kalau mau belajar, sedikit saja. saya kira yang suka ngoprek tampilan akan jatuh cinta.

kali ini saya hanya mau membahas bagaimana untuk mengintegraskan antara QML dan C++. mainset utamanya adalah, C++ menngontrol QML, QML memberikan signal pada C++. jadi bukan signal-slots secara penuh layaknya antar object di C++.

tahap persiapan. buat project untuk membuat qwidget. buat file resource/qrc. lalu buat file qml baru, masukkan ke qrc.

tahapan selanjutnya:

QQuickView * qml = new QQuickView();

QWidget * wid = QWidget::createWindowContainer(qml, this);

qml->setSource(QUrl(“qrc/namaqmlnya.qml”));

QObject * rootQml = qml->rootObject();

QVBoxLayout *ly = new QVBoxLayout(this);

ly->addWidget(wid);

this->setLayout(ly);

nah, kita sudah punya objek qml, wid, dan rootQml. rootQml inilah yang nantinya akans sering kita pakai. cayoo…

saya ngoding dulu ya. saya tinggal dulu. nanti semoga sempat dan “kenceng” saya update lagi. 😀

Linux, Open Port Serial Without root permission.

terkadang kita membuat aplikasi di linux yang memiliki modul yang membutuhkan hak akses membuka port serial. namun, karena secara default, user biasa di linux tidak memiliki hak akses untuk membuka port  serial port, maka kita diharuskan untuk menambahkan sudo atau gksudo pada shotcut aplikasi kita. cara ini sangat berguna. saya juga lama menggunakan cara ini. kelemahan cara ini adalah, kita akan selalu diminta memasukkan password setiap membuka aplikasi kita. sungguh sesuatu yang sangat tidak nyaman. apalagi aplikasinya akan di deliver ke customer kita.

ternyata ada cara lain yang menurut saya lebih baik. yaitu dengan mendaftarkan user linux-nya ke group dialout. commandnya sebagai berikut:

sudo usermod -a -G dialout usernamelinuxnya

lanjutkan dengan ritual seperti biasa, yaitu logout dan login. lalu, coba buka aplikasi buatan kita, insyaAllah akan bisa membuka port serial tanpa harus menggunakan akses root. 🙂