February 6, 2017

Dimana bisa mencari info sekolah / universitas?

Mencari sekolah memang bukan hal yang mudah dan dapat dilakukan dalam waktu singkat

www.edumor.com

June 24, 2014

Menghitung Cyclomatic Complexity

Hola
CMIIW
berikut adalah sampel mengejarkan Cyclomatic Complexity

Apa sih tujuannya? di dalam flowchart : agar dapat tahu jumlah path yang perlu dilaksanakan agar semua proses dilewati

Sebelumnya, anda perlu menghafal bahwa

V(G) = E - N + 2


Lalu didapat sebuah soal (lihat graph A di sebelah kiri)


Graph A adalah Flowchart dari sebuah program. Kita perlu mengubah ke bentuk B
sebelum menghitung menggunakan rumus, perlu di ketahui
cara mengubah dari flowchart (A) ke flowgraph (B):



-Setiap prosess dan IF, maka dihitung sebagai 1 node
-lihat pada proses 4 dan 5, pada graph kanan dijadikan satu karena prosesnya beruntun. berbeda dengan proses 1 (karena proses 1 bercabang)
-Setiap penggabungan kembali dari proses percabangan dihitung 1 node (lihat angka 9 dan 10)
-Anda boleh memasukkan Start dan End sebagai node (terserah anda)
tetapi sebaiknya ikuti saja cara di atas
End dihitung 1 node
Start tidak di hitung



maka anda siap menggunakan rumus V(G) = E - N + 2
Catatan :
V(G) = Jumlah Minimum path yang kita perlukan agar dapat melintasi semua proses.
N = Jumlah node (berlaku untuk yang telah berubah menjadi tabel yang kanan)
E = edge (garis pengubung antara node)



dari informasi di atas maka :
V(G) = 11 - 9 + 2
V(G) = 4
maka jumlah path minimal yang harus di ambil agar semua terlewati cukuplah 4 path
Itu dia, Cyclomatic Complexity nya adalah 4


Kita lakukan pengecekan path asal2an, pastikan semua node terlewati (untuk gambar B)
Path 1:     1-11
Path 2:     1-2-3-4-5-10-1-11
Path 3:     1-2-3-6-8-9-10-1-11
Path 4:     1-2-3-6-7-9-10-1-11

disini saya telah menemukan 4 path



Buku Software engginering halaman 482

June 20, 2014

Cara mendapatkan like yang banyak

Nih , saya mau bagi sedikit rahasia agar bisa dapat like dengan banyak!

hahahah
gampang~

coba aja pakai YOULIKEHITS.COM

apa itu? YOULIKEHITS.COM adalah website yang menggunakan sistem tukaran likes,
dengan menglike page orang lain, anda akan mendapatkan point yang dapat ditukarkan dengan like dari orang lain!
dan saya sudah mendapat ratusan like hanya dari youlikehits.com ini (gak boong)

fanpage yang gak banyak postingan, tapi banyak likenya :D
monggo di coba, daftar langsung di sini:

klik disini untuk mendaftar


Cara Mendapatkan 1000 Like FB Gratis
1000 like
Dengan adanya program ini untuk memperoleh 1000 Likes itu tidaklah susah. Cukup join dan lakukan "tugas" Anda setiap hari.. Kira2 dalam seminggu Anda akan memperoleh 1000 likes.LikeBooster - 1000 Instagram likes & Followers Plus 1000likes

May 26, 2014

MENU MAKANAN ANAK KOS (Hanya dengan satu semester berlatih menjadi ahli menabung uang kuliah )

sumber: 
http://dinamiclive.blogspot.com/2013/06/menu-makanan-anak-kos.html
sekedar share :D

Saya ingin berbagi pengalaman ketika menjadi anak kos pada masa menyelesaikan kuliah di Jogja. Meski Jogja terkenal sebagai kota pelajar, namun untuk urusan mengisi perut kita harus pintar-pintar membelanjakan uang kiriman dari orang tua atau mungkin dana beasiswa kita. Jika tidak berhati-hati, salah-salah kita terjebak dalam arus konsumerisme yang saat ini mulai mewabah di antara kaum mahasiswa. Akibatnya selama kuliah, pengeluaran untuk makan akan lebih membengkak daripada pengeluaran untuk uang kos, fotokopi makalah, membeli sabun, odol, atau pembersih muka.

            Pada bulan-bulan pertama masuk kuliah, saya mengalami kesumpekan dalam mengelola uang saku tersebut.
“Kan baru dikirim minggu lalu?” kata bapak saya, begitu beliau tahu gelagat buruk ketika saya menelepon ke rumah. Terpaksa saya beralasan uang itu sudah terpakai untuk membeli buku wajib, biaya praktikum, menyumbang teman yang sakit, dsb.
Berdosa memang, namun apa daya, lha wong saya sendiri heran kemana hilangnya uang itu. Perasaan menu makanan yang saya beli juga termasuk sederhana, tidak mewah dan tidak pernah membeli fastfood. Kalau tidak nasi sayur dan telur ya nasi sayur dan ayam. Kalau tidak ya nasi rendang di warung makan padang dekat kos-kosan (hehehehe).
            Setelah saya berlatih dan berguru kepada kakak kelas yang kebetulan satu kosan dengan saya, barulah saya mengerti tips dan triknya. Bagaimana kita bisa makan enak tapi tetap hemat. Waktu itu ilmu ini saya lihat memang terbukti pada kakak kelas saya itu. Saya tahu sendiri kiriman dari orang tuanya hanya pas-pasan dan dia tidak berasal dari keluarga yang kaya, namun ketika akhir bulan, dengan santainya dia masih bisa meminjami saya uang 100 atau 200 ribu. Wah keren…! (saya sendiri memelas-melas karena perut melilit).
            Nah, begini triknya:

Level dasar/ pemula (2 bulan)
            Bagaimana pun jangan berangan-angan anda dapat langsung menghemat lebih dari lima puluh persen pengeluaran makan anda selama sebulan. Karena sama saja anda akan menyakiti diri sendiri. Semua ada tahapnya. Dan untuk level pemula, anda harus melaksanakannya dengan teliti dan tekad penuh untuk berubah (jika perlu membaca niat sebelumnya hahaha).
            Pertama-tama. Di dalam kamar kos anda harus tersedia peralatan berikut ini:
1.      Ricecooker, ukuran kecil atau sedang tidak masalah
2.      Dispenser, atau pemanas air listrik
3.      Talenan
4.      Pisau kecil tajam
5.      Sendok sayur
6.      Kompor listrik kecil, atau kompor tabung kecil (untuk kemping)
7.      Bakul nasi
8.      Baskom
9.      Penggorengan, usahakan anti lengket, berbentuk persegi lebih baik. 
-          Seterika listrik
      Cobek dan ulekan, kayu atau batu tak masalah

Minggu pertama, anggap saja anda sudah melengkapi peralatan yang saya sebutkan di atas, namun anda belum dianggap mandiri untuk menggunakan peralatan tersebut dengan penuh daya. Anda senantiasa masih diperbolehkan mengunjungi toko kelontong, swalayan, warung padang langganan, tukang bakso keliling, atau warung tenda di sekitar kampus, dsb. Jadi untuk bulan pertama dan kedua, inilah menu alternatifnya:
1.    Nasi sayur gulai ikan tenggiri
Masak nasi di ricecooker seperti biasa. Sambil menunggu matang, pergilah ke warung padang terdekat. Belilah sayurnya (daun singkong + daun pepaya + sambal hijau) saja dengan kuah gulai ikan (tanpa ikannya), satu plastik seharga Rp. 2000. Lalu belilah 2 bungkus kerupuk dengan cap ikan tengiri (@Rp500). Sayur gulai ikan biasanya bisa untuk 2 kali makan.

2.    Telur orak-arik pedas
Bahan: 1 butir telur ayam, 2 sendok makan susu bubuk, 1 sendok makan tepung terigu, garam, cabai, bawang putih, sedikit terasi.
Kocok jadi satu telur, susu, dan tepung terigu hingga tercampur. Buat telur dadar. Uleg cabai, setengah siung bawang, terasi dan garam, kemudian campur dengan telur dadar dan uleg lagi hingga telur hancur merata. Makan dengan nasi hangat.

3.    Batagor mie kuah tandem
Sering kita makan batagor tapi tidak kenyang tanpa nasi. Oleh karena itu kita akan menggabungkan batagor dengan mie. Belilah empat butir batagor dan bumbunya pada tukang batagor keliling. Potong-potong kecil batagornya, sisihkan. Rebus mie instan sampai matang. Ambil minyak dari mi instan, tuangkan di mangkuk. Untuk bumbunya gunakan sedikit saja. Aduk mi instan dan bumbunya serta bumbu batagor.   

4.    Roti sisir saus coklat
Menu ini cocok untuk sarapan, yang tidak harus dengan nasi. Belilah sebungkus roti sisir (berisi dua atau empat pasang) dan coklat choki-choki batang. Panggang roti sebentar di atas penggorengan, lalu taburi dengan coklat choki-choki di atasnya. 

5.    Nasi bakar ikan tongkol
Belilah ikan pindang tongkol, buncis, dan wortel di tukang sayur. Goreng pindang buncis dan wortel sebentar, lalu suwir-suwir pindang. Pipihkan nasi di piring (seperti membuat roll). Tata suwiran tongkol, bunis, dan potongan wortel di atasnya lalu gulung. Bungkus dengan alumunium foil. Panggang di atas penggorengan anti lengket selama 5 menit.

6.    Roti dan ikan pedas ala India
Belilah satu bungkus roti tawar. Ambil 3 lembar. Pipihkan dengan seterika panas. Taburkan sedikit garam halus. Hangatkan sarden di atas penggorengan, tambahkan irisan bawang merah dan cabai. Sambil menunggu panas, hancurkan daging ikan sarden dengan cara menekan-nekannya memakai garpu atau sendok. Sajikan sarden dengan roti pipih.

7.    Sayur sawi nano-nano
Bahan:
Sayur sawi yang dipotong-potong
2 batang So nice diiris
1 otak-otak ikan
2 biji tempura
Cara membuat:
Panaskan air di ricecooker, masukkan irisan bawang putih, so nice, otak-otak, dan tempura. Bumbui dengan garam dan merica. Masukkan potongan sawi, rebus sebentar hingga sawi matang.

8.    Nasi lemak sayuran dan telur
Ketika memasak nasi di ricecooker, pastikan bahwa kandungan air benar-benar pas. Anda tahu benar berapa waktu yang dibutuhkan untuk mematangkan nasi. Sepuluh menit sebelum nasi matang, masukkan wortel, sawi dan sawi yang diiris kecil. Masukkan daun salam. Taburi sedikit garam. Tunggu nasi hingga matang.
Pecahkan satu butir telur ayam di mangkuk. Tutupi langsung dengan nasi sayur yang masih panas. Letakkan satu sendok margarin di atasnya.

PENTING! (untuk melanjutkan ke level berikutnya): Jangan lupa meluangkan waktu untuk menanam bibit tomat, jagung, cabai, terung, ketela pohon di halaman kosan anda. Kalau perlu pada pot-pot yang anda letakkan di teras. Tanaman anda tersebut harus terlindung dari tangan-tangan jahil teman-teman anda, selain dari tikus dan kucing tetangga. 

Level Intermediate/ Master grade I (1 bulan)
            Tengah semester, anda meluangkan waktu untuk pulang ke kampung halaman. Ketika tiba waktunya kembali kosan, anda dianjurkan untuk membawa bahan makanan dari rumah (ransum) yang tahan lama dan dapat dimasak sewaktu-waktu. Jika anda berbicara baik-baik pada ibu anda, beliau pasti paham dan mengusahakan yang terbaik untuk anda. Kemudian anda akan membawa sekardus besar yang berisi bahan makanan dalam perjalanan anda kembali ke kos.
Pilihan makanan yang dapat dibawa seperti:
1.      Kering/keripik tempe
2.      Serundeng/dendeng daging
3.      Abon
4.      Sosis manis
5.      Cumi kering
6.      Ikan asin
7.      Beras
8.      Kerupuk udang mentah
9.      Kerupuk tahu

Bawalah sebanyak mungkin yang anda bisa. Nah, selama sebulan penuh usahakan hanya mengkonsumsi dan mengolah bahan makanan yang anda bawa dari rumah. Anda dianjurkan untuk menghindari atau meminimalisasi kunjungan anda ke swalayan, toko kelontong, kantin kampus atau warung makan langganan anda.

Level Master (1 bulan)
            Saatnya memanen!! Masih ingat benih-benih yang anda tanam tiga bulan lalu? Kini jagung, terung, cabai, tomat, dan yang lainnya dapat anda petik dan anda masak di dapur mini anda. Hebat kan? Sekarang anda bisa menanam sendiri bahan makanan anda. Pada tingkat ini anda benar-benar memutus kontak dengan kantin dan warung padang! (dulu saya bela-belain mencabut batang singkong di belakang kampus dan menanamnya lagi di kos)

Level Profesional (2 bulan)
Berdasarkan pengalaman, jarang sekali mahasiswa perantauan yang benar-benar mengeksplorasi hasil kekayaan alam. Mungkin mereka terhalang kesibukan kampus atau sungguh-sungguh fokus untuk belajar. Padahal jika diperhatikan hasil alam sudah melimpah ruah di sekitarnya, dan dapat dimanfaatkan sebagai bahan pangan. Contohnya di Jogja sendiri.
Sekali waktu jangan hanya berkutat di lingkungan kampus atau kosan saja. Pergilah berkendara agak ke selatan, utara atau barat dari wilayah kota, maka akan dikutat daerah pedesaan dan pertanian yang asri. Sambil refreshing, anda dapat menemukan alternatif menu makan anda. Ketika di level profesional, saya mempraktekkan beberapa tekniknya. Saya menyebutnya dengan teknik berburu dan meramu (seperti pada jaman purba).
1.        Memancing ikan air tawar di kali
Di kota besar, air sungai memang sudah sedemikian tercemar hingga ikan-ikan pun enggan hidup di dalamnya. Namun jika anda mau sedikit berjalan ke hulu (sumber) atau ke hilirnya (aliran yang mengarah ke laut), anda akan menemukan bahwa di daerah aliran tersebut masih layak dihuni ikan-ikan. Jenisnya pun beraneka ragam. Seperti ketika saya memancing di kali progo (jogja) saya masih bisa menarik ikan lele, ikan gabus, dan menjaring ikan wader kecil-kecil. Tipsnya: jangan mencoba memancing di kolam pemancingan, karena sama saja anda akan membayar jika memperoleh ikan.
2.        Memancing ikan laut di pantai/muara
Bosan memancing di sungai, jika anda memiliki peralatan yang memadai, sumber daya laut sangat menjanjikan untuk dieksploitasi. Di jogja, saya biasa iseng-iseng melemparkan kail ke dua pantai. Pertama, pantai mercusuar samas yang langsung berbatasan dengan laut dalam (muara/delta), di situ tersedia mulai ikan keting yang kecil-kecil, belanak, hingga jika mujur akan memperoleh barakuda kecil, karena lautnya diselingi dengan karang-karang besar. Kedua, pantai parangkusumo, tapi bukan lokasi pantai yang banyak dikunjungi wisatawannya. Saya biasa menerobos gang-gang kecil sebelum pantai untuk menghindari membayar TPR. Di situ akan ditemukan berbagai jenis hewan air payau. Yang dapat langsung ditangkap biasanya kepiting dan keong. Jika memancing, paling banyak anda akan mendapatkan ikan bandeng dan udang sungai.
3.        Menembak burung di hutan
Berbekal senapan angin milik kakak kelas, di hutan sekitar kota biasanya masih banyak burung-burung liar yang dapat menambah variasi menu anda. Ingat, jangan mengadakan perburuan besar-besaran karena sama saja anda akan terkena undang-undang lingkungan hidup. Ambillah secukupnya untuk memnuhi kebutuhan anda saja. Satu atau dua ekor belibis tidak masalah. Perlu diketahui, saat ini di jogja sendiri bertebaran warung tenda yang menjual menu burung emprit goreng. Saat ini mereka terancam punah.
4.        Menangkap belalang
Bagi orang kebanyakan, memakan belalang termasuk bizzare food alias makanan aneh. Namun di wonosari, ketika musim belalang tiba, para penduduk berbondong-bondong menangkapnya untuk dikonsumsi. Belalang itu biasanya digoreng atau dimumbui pedas. Rasanya gurih seperti rasa udang dan kepiting. Saya sendiri tidak pernah ikut menangkapnya. Namun teman kos saya yang asli gunung kidul (wonosari) selalu membawa oleh-oleh belalang untuk saya, setelah tahu saya doyan, hahaha. Menurutnya menangkap belalang tidak dilarang, dan jumlahnya cukup tersedia di alam, karena mencapai ribuan. Memang harus dikendalikan untuk menyelamatkan tanaman petani.  
5.        Memancing belut di sawah belakang kampus
Sekali waktu, amatilah ekosistem di sekitar kampus anda. Jika kebetulan di sekitarnya terdapat rawa-rawa dan persawahan, jangan disia-siakan. Contohnya di kampus saya. Berjalan ke arah belakang saja akan ditemui persawahan. Jika masa pengairan, keong satu plastik penuh dan belut pun bisa saya bawa pulang. Jangan kecil hati jika anda ditertawakan oleh teman-teman kosan anda, karena mereka tidak mengerti apa yang sedang anda lakukan, hehehe….

Teknik berburu yang saya sebutkan di atas hanya sekedar beberapa contoh pengalaman saja. Mungkin anda lebih kreatif dan inovatif dari saya. Sekarang bukan jamannya kapak perimbas atau bejana perunggu lagi kan?

Level Konsultan
            Selamat! Anda sudah menduduki level tertingi sekaligus mengakhiri masa pelatihan. Tabungan uang saku anda semakin bertumpuk dan aman. Dulu di level ini saya sudah dapat melatih adik tingkat saya sekaligus mengospeknya (hihihi).
Pada level ini anda tidak lagi mengontrol menu makanan yang akan anda makan. Namun makanan yang akan datang pada anda. Lho? Bagaimana bisa? Begini triknya:
1.        Anda menawarkan jasa mengetik makalah, paper atau tugas kuliah lain pada teman-teman anda atau adik kelas anda, dengan upah mereka mentraktir anda makan. (pada awal kesepakatan sebutkan menu yang ingin anda makan) Jika mereka setuju, anda akan dengan senang hati mengetik bukan?
2.        Hadirilah pesta-pesta ultah teman anda. Jadi anda harus pandai mencari info siapa saja yang ultah hari ini, besok atau lusa. Anda bisa mencarinya melaluifacebook atau data kelas yang dipegang ketua kelas. So, ketika masa pelatihan tetaplah bersosialisasi dan jangan putus hubungan dengan teman-teman anda, karena makan gratis masih terbuka dimana-mana.
3.        Carilah informasi teman-teman kos anda yang baru saja mudik, karena ketika mereka kembali ke kos biasanya membawa oleh-oleh dan bahan makanan. Jadi bisa jadi tambahan bahan pangan di kamar anda secara gratis.
4.        Penting, bangunlah perkenalan tidak hanya dengan teman kos anda, melainkan juga dengan ibu/ Bapak/ kakak atau adiknya. Karena biasanya jika mereka berkunjung, anda akan terkena imbas oleh-olehnya. J
5.        Carilah info siapa saja kakak-kakak kelas anda (terutama yang satu kos) yang akan diwisuda. Biasanya mereka selalu mengadakan pesta kecil-kecilan di kos-kosan. Jangan malu, sebab uang anda sendiri di dompet masih banyak.

Anda tetap dapat melanjutkan kegiatan level profesional, master atau intermediet, dan masih melanjutkan bercocok tanam di halaman.  

Hasil dari latihan berat ini akhirnya saya rasakan ketika lulus kuliah. Pada saat wisuda, saldo tabungan saya masih tersisa Rp 8.200.000,00. Lumayan kan? Itu adalah tabungan kelebihan uang saku saja. Namun ingat, pelatihan menghemat ini bukan untuk mengajarkan anda menjadi pelit. Tetaplah belajar dan beramal! Bantulah teman anda jika memang ia membutuhkan pinjaman uang untuk makan, tidak untuk membeli narkoba. Tapi jika terlalu sering ngutang, segera ajaklah ia bergabung pada padepokan anda, demi masa depannya!
Selamat menabung!

April 8, 2014

Line Cookie Run Cheat



Line Cookie Run Cheat is the new cheat you want it for you special created for player like me and you of Line Cookie Run. The program it is very simple to use, with just a click you will unlock all in the game, and not only that you will be able to add to your account unlimited coins. I created this hack by using an exploit and dosen't pose a risk to your account, you don't need to worry, the program Line Cookie Run Cheat is the best you can find.


Line Cookie Run Cheat Features

Unlimited Crystals

Unlimited Coins

Unlimited Energy

Unlimited Giant Jelly

Unlimited Blast Jelly

Unlimited Magnet Jelly

Unlock All Cookie

Proxy

Anti-Ban Protection

PROVED WORKING! diamond coin added!

 YET



line cookie run hack, line cookie run coin cheat, cookie run IOS coin hack, kakao run cheat hack 2014 2015 2016, line cookie run bonus time unlimited, line cookie run diamond unlimited coin unlimited, line cookie run, Line Cookie Run Hack Tool Cheat Tool, 

Nw Line Cookie Run Hack Cheat Tool, Line Cookie Run Hack Cheat Tool Android 2014


February 11, 2014

mariO

Hallo, di tengah stressnya Ujian ini, gw menyempatkan diri untuk nonton youtube

LOOK WHAT I FOUND!

mariO

*better than flappy bird *







mau? mau? mau?

HERE


September 27, 2013

BBM APK

bagi yang belum berada pada posisi android 4.0 atau keatas, silahakan coba bbm ini
http://adf.ly/WXDjC

klik skip ads sampai pada 4shared

tag : bbm.apk, bbm untuk android, install bbm froyo, bbm ginger bread, bbm android 2.3, bbm android 2.2

September 25, 2013

Cara mendownload file torrent

SEBELUM MEMULAIN, instal dulu utorrent : www.utorrent.com


Metode pertama
setelah selesai, masuk ke site torrent yang tersedia, contohnya piratebay ini akan muncul seperti ini, klik get this torrent :








METODE KE DUA -.-"
2. Lalu cari file yang ingin anda download dengan extensi .torrent dengan cara ketikkan “nama file yang ingin di download filetype:torrent” tanpa tanda petik.
3. Setelah selesai download file yang ingin anda download dengan extensi .torrent, silahkan buka folder dimana tersimpan file torrent yang telah anda download tadi.
4. Kemudian klik kanan pada file lalu Open With uTorrent. Maka akan keluar tampilan seperti gambar di bawah ini :
Download File Torrent

5. Klik Ok.
6. Maka akan seperti ini :
Download File Dengan uTorrent

7. Tinggal tunggu aja sampai 100%

Ebook Teknik informatika

Download E-book Teknik Informatika

PLEASE SEBARKAN HANYA KEPADA ORANG YANG MEMBUTUHKAN
JIKA ANDA TERTARIK, SILAHKAN MEMBELI YANG ASLI
PLEASE BUY THE ORIGINAL IF YOU RESPECT THE AUTHOR


sebagian file adalah torrent,
bagi yang belum mengerti torrent silahkan kunjungi : klik di sini
anda harus punya torrent downloader terlebih dahulu: http://www.utorrent.com/

more books are coming soon

available books :

SEMESTER 1 : (coming soon)

SEMESTER 2 : 
(coming soon)

SEMESTER 3 :

Entrepreneurship :
- Business Model Generation by Osterwalder and Pigneur 2010 [Qwerty80] 
TORRENT DOWNLOAD (skip this ads) : http://adf.ly/WXDqW
Direct Download (skip this ads) : 
http://adf.ly/WXDuB

kalkulus 2 :
- Advanced Engineering Mathematics 10th Edition.pdf 
Direct Download (skip this ads) : http://adf.ly/WXDyG

Java : 
- Introduction-to-java-programming-comprehensive-8th-edition :
TORRENT DOWNLOAD (skip this ads) : http://adf.ly/WXKA3Direct Download (skip this ads) : http://adf.ly/WXXn3

SEMESTER 4 : (coming soon)

SEMESTER 5 : (coming soon)

September 3, 2013

Older version of Instagram

If anyone unable to get Instagram from Play Store, you can get it here.
(Jika siapapun tidak bisa mendapatkan instagram di google play store, anda bisa dapatkan di sini)

try to download firstly newer version, and try older one until it works for you, thanks
coba donwload versi terbaru sampai yang paling lama, semoga bisa membantu

http://adf.ly/V6GZb

tag : older version of instagram, instagram not compatible, unfortunately this device doesn't seem to meed the minimum camera requirements, instagram error, instagram cannot install, instagram tidak cocok, instagram tidak bisa jalan, instagram versi lama, instagram

June 28, 2013

KBP chapter 16

Review Questions
1. What are the three primary uses of symbolic logic in formal logic?
-To express propositions, to express the relationships between propositions, and to describe how new propositions can be inferred from other propositions that are assumed to be true.


2. What are the two parts of a compound term?
- Functor and ordered list of parameters.


3. What are the two modes in which a proposition can be stated?
- One in which the proposition is defined to be true, and one in which the truth of the proposition is something that is to be determined. In other words, propositions can be stated to be facts or queries.


5. What are antecedents? Consequents?
-Antecedents are right side of a clausal form proposition. Consequent is left side of a clausal form propositions.


6. Give general (not rigorous) definitions of resolution and unification.
-Resolution is the inference rule that allows inferred propositions to be computed from given propositions, thus providing a method with potential application to automatic theorem proving. 
Unification is the process of determining useful values for variables.

9. What does it mean for a language to be nonprocedural?
-Language in which the programs do not exactly state how a result is to be computed but rather describe the form of the result.


11. What is an uninstantiated variable?
-A variable that has not been assigned a value.


13. What is a conjunction?
-Conjunctions contain multiple terms that are separated by logical AND operations.


Problem Set
1. “All predicate calculus propositions can be algorithmically converted to clausal form”. Is this statement true or false? Explain.
-This statement is true. Nilsson (1971) gives proof that this can be done, as well as a simple conversion algorithm for doing it.


2. Describe how a logic programming language is different from a general programming language.
-Programming that uses a form of symbolic logic as a programming language, unlike other general programming language, is often called logic programming; languages based on symbolic logic are called logic programming languages, or declarative languages.


8. Critically comment on the following statement: “Logic programs are nonprocedural”.
- It is true, because logical programs use lots of different processes based on its conditions. If a certain logical requirement is true, then a program will execute the corresponding process, instead of procedurally executing the statements.

KBP Chapter 15

REVIEW QUESTION
2. What does a lambda expression specify?
-The predicate function is often given as a lambda expression, which in ML is defined exactly like a function, except with the fn reserved word, instead of fun, and of course the lambda expression is nameless.
5. Explain why QUOTE is needed for a parameter that is a data list.
-To avoid evaluating a parameter, it is first given as a parameter to the primitive function QUOTE, which simply returns it without change.
6. What is a simple list?
- A list which membership of a given atom in a given list that does not include sublists.
7. What does the abbreviation REPL stand for?
-REPL stand for read-evaluate-print loop.
11. What are the two forms of DEFINE?
-The simplest form of DEFINE is one used to bind a name to the value of an expression. This form is (DEFINE symbol expression) The general form of such a DEFINE is (DEFINE (function_name parameters) (expression)
13. Why are CAR and CDR so named?
-The names of the CAR and CDR functions are peculiar at best. The origin of these names lies in the first implementation of LISP, which was on an IBM 704 computer. The 704’s memory words had two fields, named decrement and address, that were used in various operand addressing strategies.
 Each of these fields could store a machine memory address. The 704 also included two machine instructions, also named CAR (contents of the address part of a register) and CDR (contents of the decrement part of a register), that extracted the associated fields. It was natural to use the two fields to store the two pointers of a list node so that a memory word could neatly store a node. 
Using these conventions,the CAR and CDR instructions of the 704 provided efficient list selectors. The names carried over into the primitives of all dialects of LISP.
18. What is tail recursion? Why is it important to define functions that use recursion to specify repetition to be tail recursive?
-A function is tail recursive if its recursive call is the last operation in the function. This means that the return value of the recursive call is the return value of the nonrecursive call to the function. It is important to specify repetition to be tail recursive because it is more efficient(increase the efficiency).
19. Why were imperative features added to most dialects of LISP?
- LISP began as a pure functional language but soon acquired some important imperative features to increased its execution efficiency.
26. What is type inferencing, as used in ML?
-Type inference refers to the automatic deduction of the type of an expression in a programming language. If some, but not all, type annotations are already present it is referred to as type reconstruction.
29. What is a curried function?
-Curried functions a function which a new functions can be constructed from them by partial evaluation.
30. What does partial evaluation mean?
- Partial evaluation means that the function is evaluated with actual parameters for one or more of the leftmost formal parameters.
32. What is the use of the evaluation environment table?
-A table called the evaluation environment stores the names of all implicitly and explicitly declared identifiers in a program, along with their types. This is like a run-time symbol table.
33. Explain the process of currying.
- The process of currying replaces a function with more than one parameter with a function with one parameter that returns a function that takes the other parameters of the initial function.
PROBLEM SET
8. How is the functional operator pipeline ( |> ) used in F#?
answer: The pipeline operator is a binary operator that sends the value of its left operand, which is an expression, to the last parameter of the function call, which is the right operand. It is used to chain together function calls while flowing the data being processed to each call.
9. What does  the following Scheme function do?
(define ( y s lis)
(cond
(( null? lis) ‘ () )
((equal? s (car lis)) lis)
(else (y s (cdr lis)))
))
answer: y returns the given list with leading elements removed up to but not including the first occurrence of the first given parameter.
10.What does  the following Scheme function do?
(define ( x lis)
(cond
(( null? lis) 0 )
(( not(list? (car lis)))
(cond
((eq? (car lis) #f) (x (cdr lis)))
(else (+1 (x (cdr lis))))))
(else (+ (x (car lis))  (x (cdr lis))))
-x returns the number of non-#f atoms in the given list

KBP Chapter 14

REVIEW QUESTION
6. What is exception propagation in Ada?
-Exception propagation allows an exception raised in one program unit to be handled in some other unit in its dynamic or static ancestry. This allows a single exception handler to be used for any number of different program units. This reuse can result in significant savings in development cost, program size, and program complexity.
9. What is the scope of exception handlers in Ada?
-Exception handlers can be included in blocks or in the bodies of subprograms, packages, or tasks.
10. What are the four exceptions defined in the Standard package of Ada?
-There are four exceptions that are defined in the default package, Standard:
- Constraint_Error
- Program_Error
- Storage_Error
- Tasking_Error

11. Are they any predefined exceptions in Ada?
-Yes
12. What is the use of Suppress pragma in Ada? 
-The suppress pragma is used to disable certain run-time checks that are parts of the built-in exceptions in Ada.
14. What is the name of all C++ exception handlers?
-Try clause.
30. In which version were assertions added to Java?
-Assertions were added to Java in version 1.4.
31. What is the use of the assert statement?
-The assert statement is used for defensive programming. A program may be written with many assert statements, which ensure that the program’s computation is on track to produce correct results.
32. What is event-driven programming?
-Event-driven programming is a programming where parts of the program are executed at completely unpredictable times, often triggered by user interactions with the executing program.
33. What is the purpose of a Java JFrame?
-The JFrame class defines the data and methods that are needed for frames. So, a class that uses a frame can be a subclass of JFrame. A JFrame has several layers, called panes.
34. What are the different forms of assert statement?
-There are two possible forms of the assert statement:
 a.assert condition;
 b.assert condition : expression;
PROBLEM SET
1.What mechanism did early programming languages provide to detect or attempt to deal with errors?
-Early programming languages were designed and implemented in such a way that the user program could neither detect nor attempt to deal with such errors. In these languages, the occurrence of such an error simply causes the program to be terminated and control to be transferred to the operating system.
2.Describe the approach for the detection of subscript range errors used in C and Java.
-In C subscript ranges are not checked. Java compilers usually generate code to check the correctness of every subscript expression. If any exception generates, then an unchecked exception is thrown.
6.In languages without exception-handling facilities, it is common to have most subprograms include an “error” parameter, Which can be set to some values representing “OK” or some other value representing “error in procedure”. What advantage does a linguistic exception-handling facility like that of Ada have over this method?
-There are several advantages of a linguistic mechanism for handling exceptions, such as that found in Ada, over simply using a flag error parameter in all subprograms. One advantage is that the code to test the flag after every call is eliminated. Such testing makes programs longer and harder to read. Another advantage is that exceptions can be propagated farther than one level of control in a uniform and implicit way. Finally, there is the advantage that all programs use a uniform method for dealing with unusual circumstances, leading to enhanced readability.
7.In languages without exception-handling facilities, we could send an error-handling procedure as parameter to each procedure that can detect errors than must be handled. What disadvantage are there to this method?
- There are several disadvantages of sending error handling subprograms to other subprograms. One is that it may be necessary to send several error handlers to some subprograms, greatly complicating both the writing and execution of calls. Another is that there is no method of propagating exceptions, meaning that they must all be handled locally. This complicates exception handling, because it requires more attention to handling in more places.
14. Summarize the arguments in favor of the termination and resumption models of continuation.
-The resumption model is useful when the exception is only an unusual condition, rather than an error. The 
termination model is useful when the exception is an error and it is highly unlikely that the error can be corrected so that execution could continue in some useful way.

June 27, 2013

KBP Chapter 13

Rickvian aldi / 1601253441 / 02PCT

Review question

1. What are the three possible levels of concurrency in programs?
-Instruction level, Statement level, and Unit level
2. Describe the logical architecture of an SIMD computer.
-Computers that have multiple processors that execute the same instruction simultaneously
3. Describe the logical architecture of an MIMD computer.
-Computers that have multiple processors that operate independently but whose operations can be synchronized
4. What level of program concurrency is best supported by SIMD computers?
-Instruction concurrency level
5. What level of program concurrency is best supported by MIMD computers?
-Unit concurrency level.
6. Describe the logical architecture of a vector processor.
-Vector processors have groups of registers that store the operands of a vector operation in which the same instruction is executed on the whole group of operands simultaneously
7. What is the difference between physical and logical concurrency?
-Physical concurrency – Multiple independent processors (multiple threads of control)
Logical concurrency – The appearance of physical concurrency is presented by time-sharing one processor (software can be designed as if there were multiple threads of control)
8. What is a thread of control in a program?
-A thread of control in a program is the sequence of program points reached as control flows through the program
12. What is a heavyweight task? What is a lightweight task?
-Heavyweight tasks execute in their own address space. Lightweight tasks all run in the same address space – more efficient
Problem Set
1. Explain clearly why competition synchronization is not a problem in a programming environment that supports coroutines but not concurrency.
answer:
Competition synchronization is not necessary when no actual concurrency takes place simply because there can be no concurrent contention for shared resources.  Two nonconcurrent processes cannot arrive at a resource at the same time.
2. What is the best action a system can take when deadlock is detected?
When deadlock occurs, assuming that only two program units are causing the deadlock, one of the involved program units should be gracefully terminated, thereby allowed the other to continue.
3. Busy waiting is a method whereby a task waits for a given event by continuously checking for that event to occur. What is the main problem with this approach?
The main problem with busy waiting is that machine cycles are wasted in the process.
4. In the producer-consumer example of Section 13.3, suppose that we incorrectly replaced the release(access) in the consumer process with wait(access). What would be the result of this error on execution of the system?
Deadlock would occur if the release(access) were replaced by a wait(access) in the consumer process, because instead of relinquishing access control, the consumer would wait for control that it already had.