Development of the Kanji Stacko Board Game as a Kanji Learning Medium

Authors

  • Salman Hakim
  • Heni Hernawati

Keywords:

board game, learning media, kanji, Kanji Stacko, prototype

Abstract

Kanji learning remains one of the major challenges for students in the Japanese Language Education Study Program due to the large number of kanji characters, multiple readings, and the limited availability of interactive learning media. Therefore, an engaging learning medium is needed to support the learning process. This study aimed to develop the Kanji Stacko Board game as a learning media for kanji and to evaluate its feasibility.

This study employed a user-centered design approach. The development process included analyzing JLPT N5-N4 kanji materials, designing the game concept and media, developing the prototype, preparing the evaluation instrument, and conducting a feasibility assessment followed by revisions based on the validators' suggestions. The feasibility assessment involved one media expert and one subject matter expert using a five-point Likert scale questionnaire. The data were analyzed descriptively using percentage analysis. The results showed that the Kanji Stacko Board game was successfully developed as a board game-based learning media. The media expert and subject matter expert evaluations obtained feasibility scores of 94% and 96%, respectively, both categorized as highly feasible. Therefore, the Kanji Stacko Board game is considered highly feasible for use as a kanji learning media.

 

Keywords: board game, learning media, kanji, Kanji Stacko, prototype.

Downloads

Published

2026-11-07

How to Cite

Hakim, S., & Hernawati, H. (2026). Development of the Kanji Stacko Board Game as a Kanji Learning Medium. Proceeding of International Conference on Japanese Studies, Language and Education, 7(1), 112-119. Retrieved from https://proceedings.aspbji.id/index.php/icjsle/article/view/162
                                                                  ADOConnection.CacheExecute(3600, SELECT 				o.submission_id, 				MAX(s.context_id) AS journal_id, 				MAX(i.date_published) AS i_pub, 				MAX(p.date_published) A..., Array[2]) % line  132, file: DAO.inc.php
                                                               DAO.retrieveCached(SELECT 				o.submission_id, 				MAX(s.context_id) AS journal_id, 				MAX(i.date_published) AS i_pub, 				MAX(p.date_published) A..., Array[2], 3600) % line   91, file: ArticleSearchDAO.inc.php
                                                            ArticleSearchDAO.getPhraseResults(Object:Journal, Array[1], null, null, , 500, 1) % line  207, file: SubmissionSearch.inc.php
                                                         SubmissionSearch._getMergedPhraseResults(Object:Journal, Array[1], , null, null, 500, 1) % line  146, file: SubmissionSearch.inc.php
                                                      SubmissionSearch._getMergedKeywordResults(Object:Journal, Array[4], , null, null, 500, 1) % line  194, file: SubmissionSearch.inc.php
                                                   SubmissionSearch._getMergedPhraseResults(Object:Journal, Array[4], null, null, null, 500, 1) % line  146, file: SubmissionSearch.inc.php
                                                SubmissionSearch._getMergedKeywordResults(Object:Journal, Array[3], null, null, null, 500, 1) % line  132, file: SubmissionSearch.inc.php
                                             SubmissionSearch._getMergedArray(Object:Journal, Array[1], null, null) % line  263, file: SubmissionSearch.inc.php
                                          SubmissionSearch.retrieveResults(Object:Request, Object:Journal, Array[1], null, null, null, Object:DBResultRange, Array[1]) % line   92, file: RecommendBySimilarityPlugin.inc.php
                                       RecommendBySimilarityPlugin.callbackTemplateArticlePageFooter(Templates::Article::Footer::PageFooter, Array[3]) % line  107, file: HookRegistry.inc.php
                                    HookRegistry.call(Templates::Article::Footer::PageFooter, Array[3]) % line 1254, file: PKPTemplateManager.inc.php
                                 PKPTemplateManager.smartyCallHook(Array[1], Object:Smarty_Internal_Template) % line   43, file: 42362804174f266c598cdb32c3208fc745b92101^1c372c95cd85572e0fbc9a53d0323a0b229cfc78_0.app.frontendpagesarticle.tpl.php
                              content_6a3770fdf00ec2_07411404(Object:Smarty_Internal_Template) % line  123, file: smarty_template_resource_base.php
                           Smarty_Template_Resource_Base.getRenderedTemplateCode(Object:Smarty_Internal_Template) % line  114, file: smarty_template_compiled.php
                        Smarty_Template_Compiled.render(Object:Smarty_Internal_Template) % line  216, file: smarty_internal_template.php
                     Smarty_Internal_Template.render(false, 1) % line  232, file: smarty_internal_templatebase.php
                  Smarty_Internal_TemplateBase._execute(Object:Smarty_Internal_Template, null, 42362804174f266c598cdb32c3208fc745b92101, null, 1) % line  134, file: smarty_internal_templatebase.php
               Smarty_Internal_TemplateBase.display(frontend/pages/article.tpl, null, 42362804174f266c598cdb32c3208fc745b92101, null) % line  922, file: PKPTemplateManager.inc.php
            PKPTemplateManager.display(frontend/pages/article.tpl) % line  281, file: ArticleHandler.inc.php
         ArticleHandler.view(Array[1], Object:Request) % line  391, file: PKPRouter.inc.php
      PKPRouter._authorizeInitializeAndCallRequest(Array[2], Object:Request, Array[1], false) % line  231, file: PKPPageRouter.inc.php
   PKPPageRouter.route(Object:Request) % line  143, file: Dispatcher.inc.php
Dispatcher.dispatch(Object:Request) % line  279, file: PKPApplication.inc.php
PKPApplication.execute() % line   68, file: index.php
                                                                  ADOConnection.CacheExecute(3600, SELECT 				o.submission_id, 				MAX(s.context_id) AS journal_id, 				MAX(i.date_published) AS i_pub, 				MAX(p.date_published) A..., Array[2]) % line  132, file: DAO.inc.php
                                                               DAO.retrieveCached(SELECT 				o.submission_id, 				MAX(s.context_id) AS journal_id, 				MAX(i.date_published) AS i_pub, 				MAX(p.date_published) A..., Array[2], 3600) % line   91, file: ArticleSearchDAO.inc.php
                                                            ArticleSearchDAO.getPhraseResults(Object:Journal, Array[1], null, null, , 500, 1) % line  207, file: SubmissionSearch.inc.php
                                                         SubmissionSearch._getMergedPhraseResults(Object:Journal, Array[1], , null, null, 500, 1) % line  146, file: SubmissionSearch.inc.php
                                                      SubmissionSearch._getMergedKeywordResults(Object:Journal, Array[4], , null, null, 500, 1) % line  194, file: SubmissionSearch.inc.php
                                                   SubmissionSearch._getMergedPhraseResults(Object:Journal, Array[4], null, null, null, 500, 1) % line  146, file: SubmissionSearch.inc.php
                                                SubmissionSearch._getMergedKeywordResults(Object:Journal, Array[3], null, null, null, 500, 1) % line  132, file: SubmissionSearch.inc.php
                                             SubmissionSearch._getMergedArray(Object:Journal, Array[1], null, null) % line  263, file: SubmissionSearch.inc.php
                                          SubmissionSearch.retrieveResults(Object:Request, Object:Journal, Array[1], null, null, null, Object:DBResultRange, Array[1]) % line   92, file: RecommendBySimilarityPlugin.inc.php
                                       RecommendBySimilarityPlugin.callbackTemplateArticlePageFooter(Templates::Article::Footer::PageFooter, Array[3]) % line  107, file: HookRegistry.inc.php
                                    HookRegistry.call(Templates::Article::Footer::PageFooter, Array[3]) % line 1254, file: PKPTemplateManager.inc.php
                                 PKPTemplateManager.smartyCallHook(Array[1], Object:Smarty_Internal_Template) % line   43, file: 42362804174f266c598cdb32c3208fc745b92101^1c372c95cd85572e0fbc9a53d0323a0b229cfc78_0.app.frontendpagesarticle.tpl.php
                              content_6a3770fdf00ec2_07411404(Object:Smarty_Internal_Template) % line  123, file: smarty_template_resource_base.php
                           Smarty_Template_Resource_Base.getRenderedTemplateCode(Object:Smarty_Internal_Template) % line  114, file: smarty_template_compiled.php
                        Smarty_Template_Compiled.render(Object:Smarty_Internal_Template) % line  216, file: smarty_internal_template.php
                     Smarty_Internal_Template.render(false, 1) % line  232, file: smarty_internal_templatebase.php
                  Smarty_Internal_TemplateBase._execute(Object:Smarty_Internal_Template, null, 42362804174f266c598cdb32c3208fc745b92101, null, 1) % line  134, file: smarty_internal_templatebase.php
               Smarty_Internal_TemplateBase.display(frontend/pages/article.tpl, null, 42362804174f266c598cdb32c3208fc745b92101, null) % line  922, file: PKPTemplateManager.inc.php
            PKPTemplateManager.display(frontend/pages/article.tpl) % line  281, file: ArticleHandler.inc.php
         ArticleHandler.view(Array[1], Object:Request) % line  391, file: PKPRouter.inc.php
      PKPRouter._authorizeInitializeAndCallRequest(Array[2], Object:Request, Array[1], false) % line  231, file: PKPPageRouter.inc.php
   PKPPageRouter.route(Object:Request) % line  143, file: Dispatcher.inc.php
Dispatcher.dispatch(Object:Request) % line  279, file: PKPApplication.inc.php
PKPApplication.execute() % line   68, file: index.php
                                                                  ADOConnection.CacheExecute(3600, SELECT 				o.submission_id, 				MAX(s.context_id) AS journal_id, 				MAX(i.date_published) AS i_pub, 				MAX(p.date_published) A..., Array[2]) % line  132, file: DAO.inc.php
                                                               DAO.retrieveCached(SELECT 				o.submission_id, 				MAX(s.context_id) AS journal_id, 				MAX(i.date_published) AS i_pub, 				MAX(p.date_published) A..., Array[2], 3600) % line   91, file: ArticleSearchDAO.inc.php
                                                            ArticleSearchDAO.getPhraseResults(Object:Journal, Array[1], null, null, , 500, 1) % line  207, file: SubmissionSearch.inc.php
                                                         SubmissionSearch._getMergedPhraseResults(Object:Journal, Array[1], , null, null, 500, 1) % line  146, file: SubmissionSearch.inc.php
                                                      SubmissionSearch._getMergedKeywordResults(Object:Journal, Array[4], , null, null, 500, 1) % line  194, file: SubmissionSearch.inc.php
                                                   SubmissionSearch._getMergedPhraseResults(Object:Journal, Array[4], null, null, null, 500, 1) % line  146, file: SubmissionSearch.inc.php
                                                SubmissionSearch._getMergedKeywordResults(Object:Journal, Array[3], null, null, null, 500, 1) % line  132, file: SubmissionSearch.inc.php
                                             SubmissionSearch._getMergedArray(Object:Journal, Array[1], null, null) % line  263, file: SubmissionSearch.inc.php
                                          SubmissionSearch.retrieveResults(Object:Request, Object:Journal, Array[1], null, null, null, Object:DBResultRange, Array[1]) % line   92, file: RecommendBySimilarityPlugin.inc.php
                                       RecommendBySimilarityPlugin.callbackTemplateArticlePageFooter(Templates::Article::Footer::PageFooter, Array[3]) % line  107, file: HookRegistry.inc.php
                                    HookRegistry.call(Templates::Article::Footer::PageFooter, Array[3]) % line 1254, file: PKPTemplateManager.inc.php
                                 PKPTemplateManager.smartyCallHook(Array[1], Object:Smarty_Internal_Template) % line   43, file: 42362804174f266c598cdb32c3208fc745b92101^1c372c95cd85572e0fbc9a53d0323a0b229cfc78_0.app.frontendpagesarticle.tpl.php
                              content_6a3770fdf00ec2_07411404(Object:Smarty_Internal_Template) % line  123, file: smarty_template_resource_base.php
                           Smarty_Template_Resource_Base.getRenderedTemplateCode(Object:Smarty_Internal_Template) % line  114, file: smarty_template_compiled.php
                        Smarty_Template_Compiled.render(Object:Smarty_Internal_Template) % line  216, file: smarty_internal_template.php
                     Smarty_Internal_Template.render(false, 1) % line  232, file: smarty_internal_templatebase.php
                  Smarty_Internal_TemplateBase._execute(Object:Smarty_Internal_Template, null, 42362804174f266c598cdb32c3208fc745b92101, null, 1) % line  134, file: smarty_internal_templatebase.php
               Smarty_Internal_TemplateBase.display(frontend/pages/article.tpl, null, 42362804174f266c598cdb32c3208fc745b92101, null) % line  922, file: PKPTemplateManager.inc.php
            PKPTemplateManager.display(frontend/pages/article.tpl) % line  281, file: ArticleHandler.inc.php
         ArticleHandler.view(Array[1], Object:Request) % line  391, file: PKPRouter.inc.php
      PKPRouter._authorizeInitializeAndCallRequest(Array[2], Object:Request, Array[1], false) % line  231, file: PKPPageRouter.inc.php
   PKPPageRouter.route(Object:Request) % line  143, file: Dispatcher.inc.php
Dispatcher.dispatch(Object:Request) % line  279, file: PKPApplication.inc.php
PKPApplication.execute() % line   68, file: index.php