KONSEP DASAR PEMPROGRAMAN (Materi SBP Pertemuan-2)

PENDAHULUAN

PROGRAM :
Merupakan himpunan atau kumpulan instruksi tertulis yang dibuat oleh programer atau suatu bagian executable dari suatu software.
PEMROGRAMAN :
Suatu kumpulan urutan perintah ke komputer untuk mengerjakan sesuatu, dimana instruksi tersebut menggunakan bahasa yang dimengerti oleh komputer atau dikenal dengan bahasa pemrograman.



APAKAH PEMPROGRAMAN

- Seperti suatu bahasa manusia, sebuah bahasa pemrogaman menyediakan suatu cara untuk mengungkapkan
   suatu konsep.
- Pengembangan program mencakup pembuatan model-model keadaan sebenarnya dalam dunia nyata dan
  membuat program komputer berdasarkan model ini.
- Program komputer menjelaskan metode untuk mengimplementasikan suatu model.
- Bahasa pemrograman juga mempunyai sintaks (syntax) dan grammar seperti bahasa manusia.
- Pengetahuan tentang grammar suatu bahasa pemrograman tidaklah cukup untuk membuat program yang
  baik.


• Seperti suatu bahasa manusia, sebuah bahasa pemrogaman menyediakan suatu cara untuk mengungkapkan
  suatu konsep.
• Pengetahuan tentang Teknik perancangan program lebih penting dari pada pengertian tentang detail dari
  bahasa pemrograman.
• Dalam belajar bahasa C tidak hanya belajar sintaks baru yang akan digunakan, tetapi belajar cara yang lebih
  baik dalam mengembangkan sistem.

Ukuran Kualitas Program
• Sebuah program harus dapat mengerjakan tugasnya dengan benar.
• Dapat melakukan tugasnya secara cepat.
• Tidak menggunakan banyak sumber daya (processor time, memory, disk capasity, network capacity).
• Program mudah dibaca dan dimengerti.
• Proses pembuatan program selesai tepat waktu.
• Adanya kesalahan tidak mempengaruhi bagian program (error locality).
• Mudah pemeliharaannya.
• Sebuah program harus independent dan tidak bergantung pada program lain.
• Mempunyai dokumentasi yang baik.

STRUKTUR PEMPROGRAMAN DENGAN C

- C adalah salah satu bahasa pemrograman yang terstruktur.
- Bahasa C terdiri dari fungsi-fungsi.
- Tidak ada perbedaan antara prosedur dengan fungsi.
- Setiap program C mempunyai satu fungsi dengan nama “main” (program utama).
- Program akan dieksekusi dimulai dari statement pertama pada fungsi “main” tersebut.
- Huruf besar dengan huruf kecil diartikan berbeda (case-sensitive).
- Setiap perintah (statement) diakhiri dengan semi-colon (titik koma (;))

• Bagian Pendeklarasian
  Bagian deklarasi merupakan bagian program untuk  mendefinisikan tipe data suatu variable, konstanta, serta
  fungsi dan prosedur yang akan digunakan pada program.

• Bagian Statement
  Bagian statement merupakan bagian program yang berisi  perintah yang akan dieksekusi/dijalankan.



Struktur Bahasa C
• Format penulisan fungsi secara umum :

#include <header_file>
deklarasi global_variabel;
return_type function_name(parameter)
{
deklarasi lokal_variabel;
statements;
return (value);
}

• Fungsi bisa diletakkan di atas atau di bawah fungsi “main”.
• Fungsi yang tidak mengembalikan nilai tipe-nya (return-type) adalah “void”.
• Format penulisan fungsi yang tidak mengembalikan nilai :

void function_name (parameter_list)
{
deklarasi lokal_variabel;
statements;
}

• Contoh Program C :
1 /* Prog_1.C–Menampilkan “Hello World !” di monitor */
2 #include <stdio.h>
3 void main()
4 {
5     printf ( “Hello World !”);
6 }

• Apabila program tersebut di atas dikompilasi dan dijalankan akan menghasilkan tampilan di monitor sbb :
  Hello World !

Keterangan program :
• Penomoran di depan setiap baris program C sebenarnya tidak ada, ini hanya membantu keterangan.
• Baris 1: /* Prog_1.C–Menampilkan “Hello World !” di monitor */ - merupakan komentar, yang digunakan
  agar program lebih mudah dibaca dan dimengerti. Komentar tidak ikut dikompilasi. Setiap komentar diapit
  oleh tanda /* dan */
• Baris 2:  #include <stdio.h> – memasukkan header file yang mempunyai nama stdio.h, dimana dalam header
  file tersebut terdapat perintah printf(), yang digunakan untuk menampilkan semua konstanta string yang diapit
  oleh tanda “ dan “. Dalam program ini menampilkan kalimat: Hello World !.
• Baris 3: void main() – mendeklarasikan fungsi utama tanpa mengembalikan nilai karena tipe fungsinya void.
• Baris 4:  {  - menyatakan awal kumpulan perintah dari fungsi utama.
• Baris 5: printf ( “Hello World !”); - perintah yang digunakan menampilkan kalimat: Hello World ! di monitor.
• Baris 6:  }  - mennyatakan akhir kumpulan perintah dari fungsi utama.

ELEMENT DASAR PEMPROGRAMAN
• Pengenal(variabel) dan Tipe Data
• Konstanta
• Operator
• Statement Input dan Output (I/O)


PENGENAL DAN TIPE DATA
• Pengenal (identifier) merupakan nama yang biasa digunakan untuk suatu perubah (variable), konstanta,
  fungsi, atau obyek lain yang  didefinisikan oleh pemrogram.

Aturan yang berlaku bagi suatu pengenal secara umum adalah :
1. Pengenal harus diawali dengan huruf (A .. Z, a .. z)
2. Dapat berupa huruf, angka (0 .. 9) dan karakter garis bawah(_)
3. Tidak boleh menggunakan Spasi
4. Panjang pengenal boleh terdiri lebih dari 32 karakter, akan tetapi hanya 32 karakter pertama yang
   dianggap berarti.
5. Case sensitive atau non Case sensitive tergantung bahasa pemrogramannya. Misal C dan C++ adalah case
    sentitive



DATA : Bahan mentah yang akan diolah menjadi informasi sehingga dapat dipergunakan oleh user atau pemakai.

Tipe data yang biasa digunakan adalah :
1. Tipe Data Dasar : merupakan tipe data primitif yang tidak terstruktur yang didefinisikan oleh bahasa
    pemrograman.
Tipe data dasar dibagi menjadi lima bagian yaitu :
a. Tipe Data Numerik : disetiap bahasa pemrograman dapat dipastikan ada tipe data numerik yaitu
   menyimpan data berupa angka.
   - Integer : merupakan bilangan bulat positif dan negatif.
   - Subrange : merupakan sebuah subtype dari tipe data integer dan terdiri dari urutan nilai-nilai integer dalam
      range yang tebatas.
   - Floating-point Real : biasa disingkat dan disebut tipe data riil.
   - Fixed-point Real : Bilangan fixwd-pont direpresentasikan dengan urutan digit yang mempunyai panjang
      tetap dengan titik desimal diposisikan ditempat yang diberikan antara dua digit.
    - Lain-lain : Tipe data lainnya adalah bilangan kompleks dan bilangan rational.
b. Enumerasi : adalah suatu urutan list dari nilai-nilai yang berbeda.
c. Boolean : tipe data untuk merepresentasikan True atau False.
d. Character : tipe data untuk menyimpan rangkaian karakter.
e. Internationalization : disebut I18N
2. Tipe Data Terstruktur : merupakan tipe data campuran dari berbagai tipe data dasar, contohnya array,
   record, string, list dan file.
3. Tipe Data didefinisikan oleh Pemakai : tipe data ini biasanya disebut Enumerasi.
4. Tipe Data Penunjuk : contoh tipe data penunjuk adalah pointer.

MODEL KOMPUTASI
Model Komputasi : adalah suatu kumpulan dari nilai dan operasi-operasi.
Ada 3 dasar model komputasi :
1. Model Fungsional
    Model perhitungan yang fungsional terdiri dari satu set nilai-nilai, fungsi dan operasi aplikasi, fungsi dan
    komposisi fungsi.
2. Model Logika
    Logika model perhitungan terdiri dari suatu set nilai-nilai, definisi hubungan dan kesimpulan logis.
3 Model Imperative
   Model perhitungan yang imperative terdiri dari satu set nilai-nilai yang mencakup suatu status dan operasi
   tugas-tugas untuk memodifikasi status tersebut.

DEFINISI SINTAKS, SEMANTIK DAN PRAGMATIS
SINTAKS : Aturan gramatikal / komposisi suatu program yang mengatur tata cara penulisan huruf, angka dan karakter lain.
Contoh : Pada pembuatan program Pascal antara 2 statement dipisahkan oleh ; (titik koma)
X:=1;  X:=X+1;

SEMANTIK : Mendefinisikan arti dari program yang benar secara sintaks dari bahasa pemrograman tersebut.
Contoh : Pada pembuatan program C
int vector[10]
Arti semantiknya akan menyebabkan ruang sebanyak 10

PRAGMATIS : Menguraikan derajat tingkat sukses dengan suatu bahasa pemrograman kepada model perhitungan dalam kegunaannya untuk para programer.

Prinsip-prinsipDesainBahasaPemrograman

a. Clarity, Simplicity dan Unity
Bahasa pemrograman harus dapat menolong programer untuk membuat suatu desain program jauh sebelum programmer melakukan coding.
Kemudahan, kesederhanaan dan kesatuan merupakan suatu kombinasi yang membantu programmer mengembangkan suatu algoritma sehingga algoritma yang dihasilkan mempunyai kompleksitas yang rendah.

b. Orthogonality
Orthogonality menunjuk kepada suatu atribut yang dapat dikombinasikan dengan beragam fitur bahasa pemrograman sehingga setiap kombinasinya mempunyai arti dan dapat digunakan.

c. Kewajaranuntuk Aplikasi
Bahasa pemrograman membutuhkan syntax yang tepat/cocok yang digunakan pada struktur program untuk merefleksikan struktur logika yang melandasi suatu algoritma.

d. Mendukung Abstraksi
Abstraksi merupakan suatu hal yang substansial bagi programmer untuk membuat suatu solusi dari masalah yang dihadapi. Kemudian abstraksi tersebut dapat dengan mudah diimplementasikan menggunakan fitur-fitur yang ada dalam bahasa pemrograman.

e. Kemudahan untuk VerifikasiProgram
Verifikasi program merupakan hal penting bagi sebuah program karena dengan verifikasi yang mudah maka suatu program akan dengan mudah dibangun dan dikembangkan.

f. Lingkungan Pemrograman
Bahasa pemrograman yang mempunyai lingkungan pemrograman yang baik dan lengkap akan memudahkan programmer  untuk mengimplementasikan abstraksi yang sudah disusunnya.

g. PortabilitasProgram
Salah satu kriteria penting untuk proyek pemrograman adalah kemudahan program  yang sudah jadi untuk dipindah-pindahkandari komputer yang digunakan untuk membuat dan mengembangkan ke komputer lain yang akan menggunakannya.

h. Biaya Penggunaan
Biaya merupakan elemen penting dalam mengevaluasi suatu bahasa pemrograman.
Ada beberapa biaya yang dapat diukur yaitu :
1. Biaya Eksekusi Program
2. Biaya Translasi/kompilasi Program
3. Biaya Penciptaan, Testing dan Penggunaan Program
4. Biaya Pemeliharaan Program

Konsep IPO dikembangkan mejadi :
Originating -> input -> proses -> Output -> Distribution
||
Storage

Originating
Berhubungan dengan pengumpulan data yang biasanya merupakan pencatatan data kedokumen dasar. Setelah dikumpulkan dilakukan proses input.

Input
Tahapan ini merupakan proses pemasukan data kedalam proses komputer melalui peralatan input.

Proses
Tahap ini merupakan proses pengolahan data dari data yang sudah diinput berupa proses menghitung membandingkan, mengurutkan, mengklasifikasikan, mengendalikan dan mencari di storage.

Output
Tahap ini merupakan proses untuk menghasilkan keluaran dari proses pengolahan data ke peralatan output berupa informasi (monitor, speaker, dsb)

Distribution
Tahap ini merupakan proses penyebaran informasi kepada pihak-pihak yang berhak dan membutuhkan informasi.

Storage
Tahap ini merupakan perekaman hasil pengolahan data storage yang nantinya dapat dipergunakan untuk input proses selanjutnya.

Pengertian dasar program adalah rangkaian instruksi-instruksi dalam bahasa komputer yang disusun secara logika dan sistematis.

Tujuan pembuatan program

  1. Membuat solusi dari pemecahan kasus yang timbul.
  2. Meningkatkan kualitas dan performance dari kinerja kerja.
  3. Membantu proses pengambilan keputusan.
Struktur Dasar Pemrograman
Salah satu tahapan dari pengembangan suatu program adalah menterjemahkan atau mengkodekan rancangan terinci yang telah dibuat menjadi suatu program komputer yang siap pakai.
Beberapa karakteristik seorang pemrogram yang mempengaruhi suatu program yang dibuat adalah sbb:
  1. Memiliki pol pikir yang logis.
  2. Memiliki ketekunan dan ketelitian yang tinggi.
  3. Memiliki penguasaan bahasa pemrograman yang baik.
  4. Memiliki pengetahuan tentang teknik pemrograman yang baik.
Langkah-langkah pokok secara umum didlam membuat program komputer
  1. Mendefinisikan masalah.
  2. Membuat flowchart.
  3. Membuat program.
  4. Melakukan tes program.
  5. Membuat dokumentasi program.
Pemrograman Terstruktur merupakan suatu tindakan untuk membuat program yang berisi instruksi-instruksi dalam bahasa komputer yang disusun secara logis dan sistematis supaya mudah dimengerti, mudah dites, dan mudah dimodifikasi.

Pemrograman Modular
Dalam pemrograman modular program dipecah-pecah kedalam modul-modul dimana setiap modul menunjukkan fungsi dan tugas tertentu.

Pemrograman Top Down
Sangat berguna dalam perencanaan pemrograman modular.

Sumber : http://mahrus.wordpress.com/2008/03/25/konsep-dasar-pemrograman/

Read More

PENGENALAN DASAR PEMROGRAMAN (Materi SBP Pertemuan-1)

I. Pengertian

Program adalah pernyataan yang disusun menjadi satu kesatuan prosedur yang berupa urutan langkah yang disusun secara logis dan sistematis untuk menyelesaikan masalah.

Pemrograman adalah proses mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dengan menggunakan bahasa pemrograman.

Bahasa Pemrograman adalah prosedur penulisan program.

Programer adalah Orang yang membuat sebuah program.

Terdapat 3 faktor penting dalam bahasa pemrograman :

1. Sintaks adalah aturan penulisan bahasa tersebut (tatabahasanya).

2. Semantik adalah arti atau maksud yang terkandungdidalam statement tersebut.

3. Kebenaran logika adalah berhubungan dengan benar tidaknya urutan statement.


Dalam membuat sebuah program, kita harus memakai teknik pemrograman, adapun teknik-teknik pemrograman tersebut diantaranya adalah :

• Pemrograman Procedural

• Pemrograman functional

• Pemrograman Terstruktur

• Pemrograman berbasis modul

• Pemrograman Berorientasi Objek

• Pemrograman Generic

• Pemrograman Deklaratif

II. Kriteria Bahasa Pemrograman

Beberapa kriteria pemilihan sebuah bahasa pemrograman :

• Clarity, simplicity dan unity

Kemudahan, kesederhanaan dan kesatuan merupakan suatu kombinasi yang membantu programer mengembangkan suatu algoritma.

• Orthogonality

Merupakan suatu atribut yang dapat dikombinasikan dengan beragam fitur bahasa pemrograman sehingga setiap kombinasinya mempunyai arti dan dapat digunakan.

• Kewajaran untuk aplikasi

Bahasa pemrograman harus mempunyai : struktur data, operasi-operasi, struktur kontrol dan syntax yang tepat untuk memecahkan suatu masalah.

• Mendukung abstraksi

Abstraksi merupakan suatu hal yang substansial bagi programer untuk membuat suatu solusi dari masalah yang dihadapi.

• Kemudahan untuk verifikasi program

Dengan verifikasi data yang mudah, maka suatu program akan dengan mudah dibangun dan dikembangkan.

•Lingkungan Pemrograman

Lingkungan pemrograman dapat berarti editor yang digunakan, dokumentasi yang baik, fasilitas debugging, user interface yang baik ataupun tools lain yang dapat digunakan untuk memudahkan pekerjaan progamer.

•Portabilitas program Kemudahan program untuk dipakai diberbagai jenis komputer.

•Biaya Penggunaan.

-Biaya eksekusi program

-Biaya kompilasi program

-Biaya penciptaan, testing dan penggunaan program

-Biaya pemeliharaan program

III. Aspek Pemrograman

Dalam pengolahan data dan pembuatan sebuah program diperlukan beberapa aspek-aspek dasar yaitu :

A. Brainware

Tenaga pelaksana yang menjalankan serta mengawasi pengoperasian sistem unit komputer didalam proses pengolahan data untuk menghasilkan suatu informasi yang tepat waktu, tepat guna dan akurat.

Contoh : Sistem Analis, Programmer, operator, Technical Support, dll.

Dari contoh tersebut dapat dijabarkan sebagai berikut :

1. Analis Sistem

Berperan melakukan analisis terhadap permasalahan yang dihadapi, serta merancang solusi pemecahannya dalam bentuk program komputer.

2. Programmer

Berperan menerjemahkan rancangan yang dibuat analis kedalam bahasa pemprograman sehingga solusi dapat dijalankan oleh computer.

3. Operator

Bertugas menjalankan komputer berdasarkan instruksi yang diberikan.

4. Teknisi

Bertugas merakit atau memelihara perangkat keras computer.

B. Hardware

Serangkaian unsur-unsur yang terdiri dari beberapa perangkat keras komputer yang digunakan untuk membantu proses kerja manusia ( Brainware ).

Contoh : CPU, Monitor, Keyboard, Harddisk, Disk drive, dll.

C. Software

Serangkaian unsur-unsur yang terdiri dari beberapa perangkat lunak program komputer yang digunakan untuk membantu proses kerja manusia ( Brainware ).

Contoh : Sistem Software, Application Software, Package Software, dll

Dari contoh tersebut dapat dijabarkan sebagai berikut :

1. Sistem Software / Perangkat Lunak Sistem (software pendukung)

• Program yang digunakan untuk mengontrol Sumber Daya komputer baik internal (RAM) maupun eksternal (Printer).

• Program ini umumnya sebagai perantara antara program aplikasi dan hardware.

Contoh :

- Sistem Operasi(Windows, Linux dll)

- Utilitas merupakan program khusus yang berfungsi sebagai perangkat pemeliharaan komputer, seperti anti virus, partisi hardisk.

- device Driver (sebagai pengendali peripheral).

2. Application Software / Software Aplikasi

• Program yang digunakan pemakai untuk melakukan tugas-tugas yang spesifik

Contoh : Word Processor (Pengolah kata) untuk membuat dokumen, Aplikasi Perbankan, Program untuk mengolah foto dll.

3. Package Software

• Program yang dikembangkan untuk kebutuhan umum.

IV. Bahasa Pemrograman Berdasarkan Perkembangan

A. Machine Language

Bahasa Pemrograman yang hanya dapat dimengerti oleh mesin ( komputer ) yang didalamnya terdapat CPU yang hanya mengenal 2 (dua) keadaaan yang berlawanan, yaitu :

- Bila tejadi kontak (ada arus) bernilai 1

- Bila kontak terputus (tidak ada arus) bernilai 0

B. Low Level Language (Bahasa Tingkat Rendah)

Karena susahnya bahasa mesin, maka dibuatlah simbol yang mudah diingat yang disebut dengan “Mnemonics” ( Pembantu untuk mengingat ).

Contohnya :
A : Untuk kata Add (Menambahkan)

B : Untuk kata Substract (mengurangi )

Mov : Untuk kata Move ( Memindahkan )

Bahasa Pemrograman yang menerjemahkan Mnemonics disebut Assembler.

C. Middle Level Language (Bahasa Tingkat Menengah)

Bahasa pemrograman yang menggunakan aturan-aturan gramatikal dalam penulisan pernyataan, mudah untuk dipahami dan memilik instruksi – instruksi tertentu yang dapat langsung diakses oleh komputer.

Contohnya : bahasa C.

D. High Level Language (Bahasa Tingkat Tinggi)

Bahasa Pemrograman yang dalam penulisan pernyataannya

mudah dipahami secara langsung. Bahasa pemrograman ini terbagi menjadi 2 yaitu :

1. Procedure Oriented LanguageScientific

Digunakan untuk memecahkan persoalan Matematis/perhitungan

Misal : Algol, Fortran, Pascal, BasicBussines

Digunakan untuk memecahkan persoalan dalam bidangbisnis.

Misal : Cobol, PL/1.

2. Problem Oriented Language

Misal : RPG (Report Program Generator).

E. Object Oriented Language (Bahasa Berorientasi Obyek)

Bahasa pemrograman yang berorientasi pada obyek. Bahasa pemrograman ini mengandung fungsifungsi untuk menyelesaikan suatu permasalahan dan program tidak harus menulis secara detail semua pernyataannya, tetapi cukup memasukkan kriteriakriteria yang dikehendaki saja

Contohnya : Visual dBase, Visual FoxPro, Delphi, Visual C , dll.

V. Kerangka Dasar Pemrograman



Keterangan :

-Originating

Kegiatan yang berhubungan dengan proses pengumpulan data yang biasanya berupa pencatatan (record) data ke dokumen dasar.

-Input

Kegiatan pemasukan data kedalam proses komputer dan melalui input device.

-Process

Kegiatan untuk pemrosesan data. Data yang sudah dimasukan yang disimpan didalam storage akan dilakukan proses aritmatik atau logika.

-Storage

Kegiatan berupa penyimpanan data, baik data yang belum diproses atau yang sudah berupa hasil pengolahan data untuk diteruskan keperangkat lain.

-Output

Kegiatan untuk proses menghasilkan keluaran dari proses pengolahan data ke peralatan output yang berupa informasi.

-Distribution

Kegiatan untuk pendistribusian data.

Sumber: http://raztafaera.blogspot.com/2011/11/pengenalan-dasar-pemrograman.html

Read More

7 Cara Mendinginkan Suasana Pertengkaran Dengan Pasangan

Hati boleh panas, tapi kepala harus tetap dingin. Anda mungkin sepertinya siap ‘meledak’,Ingin marah-marah pada pasangan anda tapi coba dinginkan kepala Anda dengan cara berikut ini :

1. Tenang.
Ambil jeda waktu beberapa menit ketika muncul perasaan ingin ‘meledak’. Anda bisa pergi ke ruangan lain dan lepaskan ‘ledakan’ itu di sana. Bila perlu, ambil waktu lebih panjang. Setelah tenang, temui kembali pasangan dan selesaikan masalah dengan kepala dingin.

2. Selalu dan Tidak Pernah.
“Kamu selalu begitu!” atau “Kamu tidak pernah mengerti perasaanku!” Ucapan ini sering terlontar ketika Anda marah dengan pasangan. Padahal, penggunaan kata-kata tersebut akan semakin memperuncing pertengkaran. Hindari ucapan tersebuat atau coba katakana lebih spesifik dan jelas.

3. Stop Ultimatum.
Apa pun masalahnya, pertengkaran bukan akhir sebuah hubungan. Jadi, jangan mengeluarkan ultimatum atau mendeklarasikan hubungan Anda telah berakhir. Fokuskan perhatian pada inti masalah. Jangan biarkan diri Anda terbawa suasana.

4. Jangan Pernah Mengatakan Benci.
Apapun yang Anda rasakan saat bertengkar, jangan pernah sekalipun mengeluarkan ungkapan ‘benci’. Apalagi jika sebenarnya Anda tidak bermaksud seperti yang Anda katakan.

5. Toleran.
Taktik yang bagus untuk menenangkan dan mendinginkan suasana pertengkaran adalah dengan berkata lembut dan halus pada pasangan yang sedang ‘panas’ hati. Bersikaplah lebih toleran, sabar dan tempatkan diri Anda pada posisinya (empati). Jika Anda tidak pernah melakukan hal ini pada pasangan, jangan harap dia akan berbuat sama pada Anda.

6. Jangan Mengungkit Masalah.
Maksudnya, jangan mengomentari pertengkaran yang telah lewat secara berlebihan. Tidak penting siapa yang mulai menyela atau berteriak, jika Anda dan dia telah setuju dan berdamai. Hentikan tindakan atau ucapan yang dapat menyulut pertengkaran baru.

7. Say Sorry.
Kata ini memang memiliki kekuatan magis yang besar dan bekerja sangat baik dalam menyelesaikan pertengkaran. Mintalah maaf kalau pernah berlaku tidak baik selaa pertengkaran, meski Anda merasa tidak bersalah dalam pertengkaran tersebut.

"Bagian terbaik dari sebuah pertengkaran adalah saat berbaikan. Jadi, berbaikanlah, dan nyatakan perasaan cinta Anda"

Read More

Search This Blog

Popular Posts

Translate

Visitor

free counters