Tampilkan postingan dengan label C++. Tampilkan semua postingan
Tampilkan postingan dengan label C++. Tampilkan semua postingan

Sabtu, 24 Agustus 2019

Soal-Soal Algoritma & Pemrograman Fungsi Rekursif

Buatlah program untuk masing-masing soal berikut ini, dengan menggunakan fungsi rekursif


  1. Buat program yang mengandung fungsi untuk menghitung perkalian. Nama fungsi : kali(a, b). Input : a dan b. a dan b bilangan bulat. Outputnya adalah hasil perkalian a dengan b.
  2. Buat program yang mengandung fungsi untuk menghitung faktorial. Nama fungsi : faktorial(n). Input : n. n adalah bilangan bulat positif. Outputnya adalah hasil dari fakrotial n.
  3. Buat program yang mengandung fungsi untuk menghitung permutasi. Nama fungsi : permutasi(a, b). Input : a dan b. a dan b adalah bilangan bulat positif. Outputnya adalah hasil dari permutasi a dan b.
  4. Buat program yang mengandung fungsi untuk menghitung kombinasi. Nama fungsi : kombinasi(a, b). Input : a dan b. a dan b adalah bilangan bulat positif. Outputnya adalah hasil dari kombinasi dan b.
  5. Buatlah program untuk mencari berapa angka ke-n dari deret Fibonacci. Nama fungsi : fibonacci(n). Input : n. n adalah urutan angka / no. urut / suku ke-n, yang ada dalam deret Fibonacci. Output : angka dari dalam deret Fibonacci sesuai dengan urutan yang diinput.

Kamis, 27 Oktober 2016

Tugas Mata Kuliah Pemrograman Dasar II Sesi 6 #20161027

Buatlah flowchart, sekaligus program komputer yang menampilkan tampilan sebagai berikut. Gunakan perintah pengulangan while atau for.

  1.    10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0
  2.    1, 1, 2, 3, 5, 8, 13, 21, 34, ... dst. sampai 25 suku
  3.    1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = ... (titik-titik harus menampilkan hasilnya)
  4.    1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x 10 = ... (titik-titik harus menampilkan hasilnya)
Tugas tidak perlu dikirim via e-mail. Bawalah pada saat anda kuliah mata kuliah ini di kampus A, Universitas Respati Indonesia (URINDO), Bambu Apus, Jakarta Timur. Terima kasih.

Senin, 23 September 2013

Keuntungan Menggunakan Link List dari pada Array

  1. Ukuran array harus ditentukan, link list tidak perlu.
  2. Operasi penambahan, penyisipan, penghapusan pada link list lebih mudah dari pada array.
  3. Elemen array disimpan di dalam memori dengan alamat yang berurutan, pada link list disimpan pada memori yang tidak digunakan.
  4. Link list digunakan jika banyaknya data tidak diketahui, sedangkan array digunakan jika jumlah data telah diketahui atau diprediksi.
  5. Elemen array diakses menggunakan indeks, sedangkan link list tidak (C/C++)
  6. Pembebasan alokasi memori link list dapat dilakukan node demi node, sedangkan array tidak (C/C++)

Senin, 17 Juni 2013

Belajar Pemrograman Python Bag.3 : Mengenal Python

Karena pusing cari-cari IDE Python yang sesuai, mendingan ngubek-ubek internet tentang Python. Berikut informasi yang didapat tentang Python dalam bentuk poin-poin agar mudah dibaca

  • Python adalah bahasa pemrograman umum dan dirancang mirip bahasa Inggris agar mudah dibaca. Selain itu Python dapat digunakan sebagai scripting language.
  • Python menggunakan interpreter. Jadi pada saat selesai dibuat dapat langsung dieksekusi tanpa harus di-compile terlebih dahulu.
  • Python interaktif. Maksudnya kita dapat masuk ke lingkungan Python atau menggunakan Python prompt dan langsung menuliskan dan menjalankan perintah Python (tanpa harus menyusun source code)
  • Python telah mendukung pemrograman berorientasi objek (object oriented programming)
  • Python cocok untuk pemula yang baru belajar pemrograman dan kemampuannya lengkap, seperti pemrosesan teks, pemrograman web, pemrograman game.

Sejarah Python
  • Dibuat oleh Guido van Rossum akhir 80-an dan awal 90-an yang bekerja di National Research Institute for Mathematics and Computer Science di Belanda. Saat ini Python dikembangkan oleh Python Software Foundation (situs web : http://www.python.org/)
  • Python dipengaruhi oleh :
    • ABC
    • Modula-3
    • C
    • C++
    • Algol-68
    • SmallTalk
    • Unix shell
    • dan bahasa scripting lainnya
  • Lisensi Python adalah open source GPL (Gnu Public License) dan memenuhi syarat OSI
Fitur Python dibandingkan dengan bahasa pemrograman lainnya :
  • Mudah dipelajari.
  • Mudah dibaca.
  • Mudah dipelihara
  • Memiliki standard library yang luas, portabel, dan cross platform. Sistem operasi yang didukung Python :
    • Unix (Solaris, Linux, FreeBSD, AIX, HP/UX, SunOS, IRIX dll.)
    • Win 9x/NT/2000
    • Macintosh (Intel, PPC, 68K)
    • OS/2
    • DOS
    • PalmOS
    • telepon genggam Nokia
    • Windows CE
    • Acorn/RISC OS
    • BeOS
    • Amiga
    • VMS/OpenVMS
    • QNX
    • VxWorks
    • Psion
    • Implementasi Python :
      • CPython
      • Jython untuk Java Virtual Machine implementation, dan dapat mengakses Java class library.
      • IronPython untuk .NET Common Language Runtime.
      • RPython dapat di-compile menjadi C, Java bytecode atau Common Intermediate Language, dan dugunakan untuk membuat interpreter Python PyPy.
      • Pyjamas meng-compile Python jadi JavaScript.
      • Shed Skin meng-compile Python jadi C++.
      • Cython dan Pyrex meng-compile Python jadi C.
  • Portabel sehingga dapat digunakan pada perangkat keras yang berbeda dengan antar muka yang sama.
  • Modul dapat diekstensi dengan bahasa pemrograman low level.
  • Memiliki antar muka dengan berbagai database yang ada.
  • Mendukung pemrograman GUI (graphical user interface -antar muka penggunak berbasis grafik-)
  • Python dapat digunakan pada aplikasi sederhana sampai aplikasi enterprise (scalable).
  • Selain mendukung OOP, Python juga mendukung pemrograman terstruktur dan pemrograman fungsional.
  • Dapat digunakan sebagai scripting language, bisa juga di-compile menjadi byte code.
  • Memiliki tipe data dinamis sangat tinggi dan mendukung pemeriksaan tpe data dinamis.
  • Mendukung garbage collection dinamis.
  • Mudah diintegrasikan dengan C, C++, COM, ActiveX, CORBA, dan Java.

Rabu, 08 Mei 2013

Perbedaan New Line dan Carriage Return (Difference of NL and CR)

Bro and sista yang suka otak atik program untuk baca-tulis file teks biasa (plain text atau ASCII text file) wajib baca link di bawah ini yang isinya perbedaan antara new line (\n) dengan carriage return (\r) terutama yang cross platform (Unix, Linux, MacOS, Windows) ... yuk langsung ke TKP :

http://stackoverflow.com/questions/3307747/difference-between-newline-and-carriage-return-r

Jumat, 19 Oktober 2012

Formula to Convert Milliseconds to Hours, Minutes, Seconds

Here is formulae to convert milliseconds to hours, minutes, seconds, use C/C++/Java/JS/JSP/PHP

Di bawah ini rumus untuk mengubah milidetik menjadi jam-menit-detik :

Hours = Milliseconds / (1000*60*60)
Minutes = (Milliseconds % (1000*60*60)) / (1000*60)
Seconds = ((Milliseconds % (1000*60*60)) % (1000*60)) / 1000

Rabu, 08 Februari 2012

Situs Tanya Jawab Kasus dalam Bahasa C

Satu lagi situs kumpulan tanya jawab kasus-kasus algoritma dan pemrograman dalam bahasa C.

http://cquestionbank.blogspot.com

Selamat belajar

Selasa, 31 Januari 2012

Soal Latihan Algoritma dan Dasar-dasar Pemrograman

  1. Buatlah algoritma / program untuk menghitung volume sebuah silinder yang memiliki radius 12,5 cm dan tinggi 10 cm.
  2. Buatlah algoritma / program untuk menghitung luas segitiga jika memiliki alas 1,2 m dan tingginya 1100 mm.
  3. Buatlah program untuk menhitung energi kinetik suatu benda yang jatuh bebas dari lantai 5 sebuah gedung. Setiap lantai rata-rata memiliki ketinggian 10 m. Nilai percepatan grafitasi adalah 10 m/detik. Petunjuk : energi potensial = energi kinetik. energi potensial = masa x gravitasi x ketinggian awal. energi kinetik = 0,5 x massa x kecepatan akhir2.
  4. Sebuah rangkaian listrik terdiri dari tiga buah resistor yang dirangkai secara paralel. Besarnya hambatan masing-masing resistor adalah 10 ohm, 25 ohm, 12 ohm. Rangkaian terhubung pada sumber daya listrik yang memiliki tegangan 100 volt. Hitunglah total nilai resistansi ekivalen rangkaian resistor tersebut dan hitung pula besarnya arus yang mengalir di dalam rangkaian. Total nilai resistensi adalah kebalikan total penjumlahan dari 1/R tiap resistor. Sedangkan besarnya arus yang mengalir sama dengan besarnya tegangan dibagi total nilai resistansi ekivalen rangkaian resistor.
  5. Sebuah toko menjaul barang ABC dan DEF. Harga kulakan ABC adalah Rp 200.000,00 dan dijual 15% lebih tinggi dari harga kulakannya.Barang DEF dijual dengan harga Rp 300.000 dan harga kulakannya 8% lebih rendah dari harga penjualan. Pada awal bulan pemilik toko kulakan ABC sebanyak 200 buah, dan DEF 100 buah. Pada akhir bulan semua barang habis terjual. Hitunglah keuntungan tiap barang, keuntungan semua barang dan hitung pula keuntungan bersih jika dipotong pajak sebesar 10%

Rabu, 09 November 2011

Masalah Dev-C++ pada Windows Vista atau Windows 7

Dev-C++ yang diinstall di Windows Vista atau Windows 7 tidak dapat dipergunakan untuk meng-compile program yang sudah dibuat. Agar Dev-C++ dapat digunakan untuk meng-compile program berikut caranya :

  1. Setelah Dev-C++ terbuka, klik Tools --- Compiler Options.
  2. Pada tab Directories, tambahkan : C:\Dev-Cpp\libexec\gcc\mingw32\3.4.2
  3. Pada tab Program, tambahkan : C:\Dev-Cpp\bin\ di depan semua nama file .exe
  4. Klik OK
Path C:\Dev-Cpp harus disesuaikan dengan path di mana Dev-C++ diinstall di komputer anda.

Senin, 31 Oktober 2011

Situs Keren yang Berisi Kasus-Kasus Algoritma dan Pemrograman

Dari seorang nara sumber diperoleh alamat situs yang berisi kasus-kasus untuk yang bisa digunakan untuk berlatih mengasah kemampuan analisa kasus, problem solving dan menyusun algoritma. Inilah link ke situs yang dimaksud. Selamat mencoba!

Kamis, 13 Oktober 2011

Soal Latihan Algoritma Pemrograman

Ladies 'n gentlemen, berikut soal latihan algoritma pemrograman yang bisa diterapkan menggunakan bahasa pemrograman C, C++, Java, PHP, JavaScript, C#, JSP.

Misalkan :
a = 1
b = 2
c = 3
x = 1.0;

Buatlah ekspresi perbandingan alternatif untuk ekspresi perbandingan di bawah ini :
a > b && c < d
a < ! b || ! ! a
a + b < ! c + c
a - x || b*c && b / a

selamat belajar!

Selasa, 11 Oktober 2011

SQLite, Lite Ukurannya, Lite Perintahnya

Awal mulainya sih SQLite gue cuekin. Tapi waktu mulai pakai Android... eh kok database-nya pakai SQLite ya? Nah mulai dari situ rada-rada penasaran, tapi masih agak cuek. Dan masih pakai mySQL di PHP. Padahal PHP sudah mendukung SQLite.

Belakangan... lagi mikir lagi (dulu pernah mikir) gimana caranya nempelin data yang lumayan banyak dalam file .exe tapi gampang di-manage. Berhubung belum ada bayangan, iseng-iseng cari database alternatif... nah kebetulan inget lagi SQLite... penasaran sama "lite"-nya. Seberapa "lite" sih? So, nanya mbah Gugel lah akhirnya. Nih sekelumit cerita dari mbah Gugel.

SQLite tuh yang bikin pak de Richard Hipp tahun 2000. Waktu itu pake de Hipp bekerja di General Dynamic (pabrik yang bikin pesawat tempur F-16!) yang lagi ngerjain proyeknya US Navy. Kerjaan pak de Hipp bikin program yang mau dipasang di dalam rudal penghancur kapal yang berbasis sistem operasi HP-UX dan database Informix. Mungkin pak de pikir Informix kebesaran kali ye, jadinya ya dia bikin sendiri database yang imut tapi tidak amit... maka jadilah SQLite. Dan yang paling salut sama pak de Hipp, beliau buka source code-nya untuk umum! Eh source code-nya pakai bahasa C lho (kalo di sini boro-boro dibuka... minta bayarannya selangit!).

Yuk kita kenalan sama SQLite ini :
  • Kalo Oracle, mySQL, SQL Server termasuk RDBMS (Relational DataBase Management System). SQLite termasuk ERDBMS (Embedded RDBMS). Maksudnya embedded; database SQLite sebagai library dan di-compile bersama programnya... dan menjadi bagian terintegrasi dengan program aplikasi.
  • SQLite merujuk pada SQL-92 namun pastinya ada pengurangan fitur-fitur (biar ukurannya kecil).
  • Mendukung multithread untuk baca data. Tapi kalau nulis data, menerapkan locking database (satu database dikunci, sehingga user lain tidak bisa mengubah atau menambah data pada tabel lain).
  • Secara opsional mendukung karakter Unicode.
  • Bahasa pemrograman yang didukung : BASIC, C, C++, Clipper//Harbour, Common Lisp, C#, Curl, D, Delphi, Haskell, Java, Lua, newLisp, Objective-C (Mac OS X dan iOS), OCaml, Perl, PHP, Pike, Python, REBOL, R, REALbasic, Ruby, Scheme, Smalltalk, Tcl, Visual Basic, and JavaScript. Ada juga COM (ActiveX) wrapper sehingga dapat diakses melalui JScript and VBScript. Lezaaattt :p
  • Program yang udah menyertakan SQLite di dalamnya :
  • Mozilla Firefox, Mozilla Thunderbird (bookmarks, cookies, contacts dsb.) .
  • Skype.
  • Adobe Photoshop Lightroom, Adobe AIR, Adobe Reader.
  • Ruby on Rails'.
  • Opera.
  • Service Management Facility pada Solaris dan OpenSolaris.
  • HTML5 menerapkan SQLite sebagai WebSimpleDB API.
  • Apple's iOS (SMS/MMS, Calendar, Call history, Contacts storage).
  • Symbian.
  • Nokia's Maemo.
  • Google's Android.
  • Google's Chrome browser.
  • RIM's BlackBerry.
  • Linux Foundation's MeeGo.
  • Palm's webOS.
Wew, ternyata banyak juga ya yang udah pakai.... bagi yang tertarik silahkan klik http://sqlite.org

Senin, 11 Juli 2011

Sekilas Manajemen Memori dan Memory Leaks

Manajemen Memori

Memori management adalah proses untuk mengatur pemakaian memori pada sistem komputer

Kategori manajemen memori :
  • Manajemen memori perangkat keras (MMU, RAM)
  • Manajemen sistem operasi (virtual memori, protection)
  • Manajemen memori aplikasi (allocation, deallocation, garbage collection)

Memory Leaks

Memori leak adalah memori yang telah dialokasi oleh variabel atau objek tapi tidak dibebaskan meski variabel atau objek sudah tidak digunakan lagi.

Memori leak terjadi karena :
  • Objek tidak terjangkau (unreachable) untuk dibebaskan
  • Objek terjangkau (reachable) tetapi tidak “hidup”
  • Objek direferensikan tapi tidak “hidup”
Akibat memori leak :
Pemakaian memori oleh proses aplikasi menjadi tidak tak terbatas (memori komputer cepet penuh).

Istilah

Reachable
Objek dapat dijangkau jika direfensikan oleh root (baca : pemegang referensi dalam garbage collector) atau direferensikan oleh reachable objek.

“Hidup” (live)
Memori atau objek dapat membaca memori atau objek tersebut.

Sumber : http://www.memorymanagement.org

Kamis, 09 Juni 2011

Perbedaan getch(), getche(), dan getchar() pada C

getch()
menunggu input satu karakter dari user (user harus menekan salah satu karakter pada keyboard). Jika user menekan satu karakter maka program akan langsung dilanjutkan. Karakter yang diinput, tidak ditampilkan.

getche()
sama seperti fungsi getch() namun karakter yang diinput, ditampilkan.

getchar()
menunggu input satu karakter dari user (user harus menekan salah satu karakter pada keyboard). Jika user telah menekan satu karakter pada keyboard kemudian user harus menekan tombol Enter untuk melanjutkan program. Karakter yang diinput, ditampilkan. Jika user menginput karakter lebih dari satu maka hanya karakter awal yang akan diambil / digunakan.